こんにちは、TaKO8Kiです。
最近CentOS 8上でimageをbuildする時にnpm install
, bundle install
でこける問題に直面したので、その時の記録を残しておきます。
やったこと
最終的には下記を実行するだけで解決。
$ firewall-cmd --zone=public --add-masquerade --permanent
# 忘れずにリロード
$ firewall-cmd --reload
CentOS 7系からOSのファイアウォールはiptablesからfirewalldに変更されていて、今回はそのfirewalldのmasqueradeの設定が抜け漏れていたせいで、docker-compose build
時のnpm install
, bundle install
が失敗していたようです。
そもそもMasqueradeって何
NAT(Network Address Translation) という言葉はよく聞きますが、それを拡張したものが Masquerade(Internet Protocol Masquerade) のようです。
NATが、 「プライベートIPアドレスをグローバルIPアドレスに変換する技術」 であるのに対して、Masqueradeは、 「一つのグローバルIPアドレスを複数のコンピュータで利用するための技術」 という認識であってるのかな?
ということで今回はmasqueradeの設定についてでした。
OSをしっかり勉強する機運が高まってきたのかも。
この本いいらしいからインターン先で買ってもらおうかな。