ネットワーキングは私の強みの1つではありません。インターネットにアクセスできないユーザー定義のネットワーク上のドッカーコンテナをデバッグする方法
私はホストOSとしてCentos7を使用しています。ドッカーのバージョン17.03.0-ce、build 60ccb22。
私が使用してネットワークを作成する:
docker network create --driver=bridge --subnet=10.19.0.0/16 development
Iが使用コンテナを実行する:
sudo docker run -dit --name=php-nginx1 --net=development --ip=10.19.74.23 --volume /vagrant/wordpress:/var/www/wordpress --expose 80 php-nginx
Iが容器結果内から216.58.216.36(グーグル)にpingを実行する場合は、次のとおり
PING 216.58.216.36 (216.58.216.36) 56(84) bytes of data. From 10.19.74.23 icmp_seq=1 Destination Host Unreachable
ネットワークを指定せずにコンテナを実行すると、問題なく216.58.216.36をpingできます。ホスト上でifconfigコマンドの
結果は
docker0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
inet 172.17.0.1 netmask 255.255.0.0 broadcast 0.0.0.0
inet6 fe80::42:7fff:fee2:8f4e prefixlen 64 scopeid 0x20<link>
ether 02:42:7f:e2:8f:4e txqueuelen 0 (Ethernet)
RX packets 13674 bytes 609692 (595.4 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 16644 bytes 182882110 (174.4 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 10.0.2.15 netmask 255.255.255.0 broadcast 10.0.2.255
inet6 fe80::5054:ff:fe22:5b53 prefixlen 64 scopeid 0x20<link>
ether 52:54:00:22:5b:53 txqueuelen 1000 (Ethernet)
RX packets 322262 bytes 409758704 (390.7 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 47924 bytes 3329709 (3.1 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
eth1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 10.19.74.21 netmask 255.255.255.0 broadcast 10.19.74.255
inet6 fe80::a00:27ff:feb9:e12 prefixlen 64 scopeid 0x20<link>
ether 08:00:27:b9:0e:12 txqueuelen 1000 (Ethernet)
RX packets 2 bytes 120 (120.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 28 bytes 2016 (1.9 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1 (Local Loopback)
RX packets 84 bytes 7244 (7.0 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 84 bytes 7244 (7.0 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
ifconfigコマンドは、容器を形成されているホストから
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default 10.19.0.1 0.0.0.0 UG 0 0 0 eth0
10.19.0.0 * 255.255.0.0 U 0 0 0 eth0
経路:
eth0 Link encap:Ethernet HWaddr 02:42:0a:13:4a:17
inet addr:10.19.74.23 Bcast:0.0.0.0 Mask:255.255.0.0
inet6 addr: fe80::42:aff:fe13:4a17/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:16 errors:0 dropped:0 overruns:0 frame:0
TX packets:8 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:1296 (1.2 KB) TX bytes:648 (648.0 B)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
ルートにcountainer結果を形成します結果:
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default gateway 0.0.0.0 UG 100 0 0 eth0
10.0.2.0 0.0.0.0 255.255.255.0 U 100 0 0 eth0
10.19.0.0 0.0.0.0 255.255.0.0 U 0 0 0 br- ca991944118f
10.19.74.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
link-local 0.0.0.0 255.255.0.0 U 1003 0 0 eth1
172.17.0.0 0.0.0.0 255.255.0.0 U 0 0 0 docker0
私は下垂体について何をすべきかわかりません。私は、インターネットにアクセスできないドッカーコンテナに関する他の質問を見てきましたが、それらはすべて、コンテナが外部アドレスに全くアクセスできないことに関連しているようです。このコンテナは、作成したネットワークに割り当てられていない場合はインターネットにアクセスできますが、作成したネットワークに接続している場合はアクセスできません。
私のネットワークの知識は限られているので、私はこの問題のデバッグをどこから始めるのが苦労しています。この特定の問題に対する解決策は素晴らしいですが、この問題をデバッグする方法はさらに優れています。
この問題をどのようにデバッグできますか?
私はワードプレスコンテナの手動ネットワーキング設定を通過する必要がほとんどゼロの理由を考えることができます。 – user2105103
手動ネットワーキング設定を使用することには、今のところ私にとって問題はありません。手動ネットワーキングを使用しない場合は、これを設計することをお勧めしますか? –
携帯性.... – user2105103