docker 「WARNING: IPv4 forwarding is disabled. Networking will not work.」が発生して外部からアクセスできない場合の対処法

docker 「WARNING: IPv4 forwarding is disabled. Networking will not work.」が発生して外部からアクセスできない場合の対処法

dockerコンテナに外部からアクセスができなくなったので、原因と対処法を記述してます。

環境

  • OS CentOS Linux release 7.8.2003 (Core)
  • docker 19.03.12
  • docker-compose 1.25.4

警告全文

docker-compose up時に発生

WARNING: IPv4 forwarding is disabled. Networking will not work.

原因

net.ipv4.conf.all.forwardingが「0」になっていたため、フォワーディングができなくなっている

sysctl net.ipv4.conf.all.forwarding

<出力結果>
net.ipv4.conf.all.forwarding = 0

対処法

net.ipv4.conf.all.forwardingを「1」に変更する

sudo vi /etc/sysctl.conf

<編集>
net.ipv4.conf.all.forwarding = 1 ← 追加

ネットワークを再起動

 sudo systemctl restart network.service

変更されていることが確認できます。

sysctl net.ipv4.conf.all.forwarding

<出力結果>
net.ipv4.conf.all.forwarding = 1

一時的に「1」に変更する場合は、以下のコマンドで可能です。

sudo sysctl net.ipv4.conf.all.forwarding=1