2017-08-04 10 views
0

ドッカー17.06を探索しています。ドッカーコンテナは外部世界にpingできません - iptables

私はCentOS 7にドッカーをインストールしてコンテナを作成しました。デフォルトのブリッジでコンテナを開始しました。両方のホストアダプタにpingすることはできますが、外部の世界にはできません。 www.google.com

すべての古いバージョンのDockerに基づいており、iptablesの設定があります。

私は外の世界にpingする方法を理解したいと思います。何が必要ですか?

TIA!

答えて

0

既存のiptablesを確認してください:

iptables --list 

は、それはあなたの元と宛先の詳細をiptablesのリストを表示する必要があります。

target  prot opt source    destination 

DOCKER-USER all -- anywhere   anywhere 

それはどこでも送信元と宛先の両方のためであれば、それは外部のIPアドレスにpingを実行する必要があります。(デフォルトではそのどこでも

あなたのiptable(ドッカ-USER)を設定するには、このコマンドを使用しない場合は、

iptables -I DOCKER-USER -i eth0 -s 0.0.0.0/0 -j ACCEPT 

希望すると、これが役に立ちます。

+0

迅速な対応をありがとう!私は24時間以内に(セットアップATMから離れて)テストして試してみます。しかし、記憶からはすべてが「どこでも」です。 – user1945022

+0

ここにiptables --list https://pastebin.com/KfUUCyu2 – user1945022

+0

あなたはコンテナの内部またはホストマシンからIPの外部でpingを実行していますか? IPテーブルはあなたのためによく見えます。あなたは一度iptables -nvLを実行してみてください。サーバーはどこにホストされていますか? Aws? Google?アズール? –

0

コンテナを起動するときに良いアイデアは、使用することです:

docker run -p <host_port>:<docker_port> 

これは、あなたのブリッジネットワークがポートにドッキングウィンドウとホストの両方に結合することを保証します、そして、あなたから外の世界にアクセスすることができますコンテナ。

-pを使用したくない場合は、iptables、container、およびS.Oの両方をチェックしてここに入れることができますか?

参考:

https://docs.docker.com/v1.11/engine/reference/commandline/run/

+0

ポインタをありがとう。私はホスト・ポート8443をhttpsトラフィック用のコンテナ・ポート443にリダイレクトするために-pオプションを付けてコンテナを起動します。最新のドッカー17.06は、あなたが参照しているv1.1のドキュメンテーション以来、多くの点で変化しています。 – user1945022

1

以下の手順に従って試してくださいホストマシンからwww.google.comにpingを実行あなたができる場合:ホストマシン上の 実行:

sudo ip addr show docker0 

あなたは出力が得られます

inet 172.17.2.1/16 scope global docker0 

ドッカーホストは、docker0ネットワークインターフェイス上にIPアドレス172.17.2.1を持っています。

その後コンテナを開始:

docker run --rm -it ubuntu:trusty bash 

をして

ip addr show eth0 

を実行して出力が含まれます:

inet 172.17.1.29/16 scope global eth0 

あなたのコンテナは、IPアドレス172.17.1.29を持っています。 実行:

route 

出力が含まれます:今すぐルーティングテーブルを見て

Kernel IP routing table 
Destination  Gateway   Genmask   Flags Metric Ref Use Iface 
default   172.17.2.1  0.0.0.0   UG 0  0  0 eth0 

それはデフォルトルートとして設定されているドッキングウィンドウのホスト172.17.2.1のIPアドレスを意味してからアクセス可能ですあなたのコンテナ。ホストマシンのIPになりまし

トライピング:

[email protected]:/# ping 172.17.2.1 
PING 172.17.2.1 (172.17.2.1) 56(84) bytes of data. 
64 bytes from 172.17.2.1: icmp_seq=1 ttl=64 time=0.071 ms 
64 bytes from 172.17.2.1: icmp_seq=2 ttl=64 time=0.211 ms 
64 bytes from 172.17.2.1: icmp_seq=3 ttl=64 time=0.166 ms 

これはおそらく動作する場合、あなたは

はそれに役立つことを願っていますwww.google.comにpingを実行できるようになります!

+0

ありがとう! – user1945022

関連する問題