web-dev-qa-db-ja.com

それでもDockerコンテナからインターネットにアクセスできません

https://stackoverflow.com/a/46266757 (@mkubaczykによる「Ubuntuでのdocker + ufwのベストプラクティス」の回答)ガイドに従って、DockerをUFWで適切に構成しましたが、それでもできませんコンテナでインターネットにアクセスします。

問題は何でしょうか?

4
Te Ri

問題は、docker-composeを使用してセットアップしたコンテナーにある可能性があります。デフォルトでは、docker-compose.ymlファイル内のサービス用に新しいネットワークが作成されます。これにより、docker0サブネットが設定された172.17.0.0/16インターフェースだけでなく、通常は他のインターフェース172.x.0.0/16も使用できるようになります。

これを克服するには、ネットワークにルールを追加する必要があります。

$ iptables -t nat -A POSTROUTING ! -o br-XXX -s 172.YYY.0.0/16 -j MASQUERADE

ここで、br-XXXはインターフェイス名、172.YYY.0.0/16-サブネットです。

または、説明されているサービスごとにdocker0に含めることにより、単一のdocker-compose.ymlネットワークを使用します。

    network_mode: bridge
4
Te Ri