ホームページ >運用・保守 >Docker >docker に外部からアクセスできない場合はどうすればよいですか?

docker に外部からアクセスできない場合はどうすればよいですか?

王林
王林オリジナル
2020-03-24 14:40:592508ブラウズ

docker に外部からアクセスできない場合はどうすればよいですか?

問題の説明:

docker を起動してポート マッピングを実行すると、docker は iptables に DNAT ルールを追加し、対応するポートの受信パケットを IP に変換して Forward を実行します。 、および docker ドメインからすべての IP を変換するルールを追加します。

しかし、Centos7ではdockerは正常に外部ネットワークにアクセスできるのですが、外部ネットワークからのリクエストがeth1で受信転送された後docker0に届かなかったり、送信時に(oui Unknown)と表示されたりします。

解決策は次のとおりです。

docker を起動した後、iptables を再起動します

service iptables restart

docker によって追加されたルールをすべてクリアしてから、ルールを追加します

iptables -t nat -A POSTROUTING -s 172.17.0.0/16 ! -o docker0 -j MASQUERADE

Docker からのすべてのルールを置き換える パッケージ 172.17.0.0/16 の IP はローカル IP に置き換えられ、Docker が外部ネットワークにアクセスする目的を達成するために送信されます。

推奨される関連チュートリアル: docker チュートリアル

以上がdocker に外部からアクセスできない場合はどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。