内のコマンドを実行している:は、ドッキングウィンドウを使用して、次のネットワークを作成した後ドッカーユーザー定義されたネットワーク
sudo docker network create --driver bridge mynet_nw
は、どのように私はこのネットワーク内からコマンドを発行することができますか?つまり、私のマシンはmynet_nwの中にありますので、mynet_nwの中に作成された別のドッカー画像にpingコマンドを発行できますか?
Thxを
内のコマンドを実行している:は、ドッキングウィンドウを使用して、次のネットワークを作成した後ドッカーユーザー定義されたネットワーク
sudo docker network create --driver bridge mynet_nw
は、どのように私はこのネットワーク内からコマンドを発行することができますか?つまり、私のマシンはmynet_nwの中にありますので、mynet_nwの中に作成された別のドッカー画像にpingコマンドを発行できますか?
Thxを
あなたの問題は、ネットワーク内の任意のドッカーコンテナからのコマンドを。最初にコンテナを追加するだけです。それについてはdocker network connect
を参照してください。
どちらの方法でも、ネットワーク上のDockerコンテナは、同じネットワーク上の他のDockerコンテナと通信できます。あなたのホスト、containerA
、およびcontainerB
を持っていると仮定すると、あなたがお互いからこれら3つのいずれかにpingを実行できるようになります:
containerA:~$ ping 172.18.0.1 # from containerA to host
56 bytes from 172.18.0.1: icmp_seq=0 ttl=64 time=0.101 ms
56 bytes from 172.18.0.1: icmp_seq=0 ttl=64 time=0.098 ms
56 bytes from 172.18.0.1: icmp_seq=0 ttl=64 time=0.102 ms
56 bytes from 172.18.0.1: icmp_seq=0 ttl=64 time=0.100 ms
containerA:~$ ping 172.18.0.3 # from containerA to containerB
56 bytes from 172.18.0.3: icmp_seq=0 ttl=64 time=0.082 ms
56 bytes from 172.18.0.3: icmp_seq=0 ttl=64 time=0.079 ms
56 bytes from 172.18.0.3: icmp_seq=0 ttl=64 time=0.116 ms
56 bytes from 172.18.0.3: icmp_seq=0 ttl=64 time=0.094 ms
は、あなたがホスト名を知っているAsssuming、あなたは直接ホスト名を持つにも、pingを実行できるはずです。これは、ホストにpingを実行しようとすると少し怪しいかもしれませんが、コンテナ間で動作するはずです。
containerA:~$ ping containerB # from containerA to containerB
56 bytes from 172.18.0.3: icmp_seq=0 ttl=64 time=0.067 ms
56 bytes from 172.18.0.3: icmp_seq=0 ttl=64 time=0.084 ms
56 bytes from 172.18.0.3: icmp_seq=0 ttl=64 time=0.080 ms
56 bytes from 172.18.0.3: icmp_seq=0 ttl=64 time=0.0811 ms
は、一般的に私は、ドッキングウィンドウのネットワークコマンドのマニュアルを読むことをお勧め:https://docs.docker.com/engine/reference/commandline/network_connect/#related-commands https://docs.docker.com/engine/userguide/networking/work-with-networks/
とにかくドッカネットワークは、ネットワークを生成し、あなたはそこでコマンドを実行するためのコンテナが必要。
例:
docker run -it alpine --network mynet_nw /bin/bash
ping mydb
あなたは、コンテナの名前を知っていればあなたはなかれホスト自体からネットワークを確認することができます。
INSTANCE_NAME='myalpine'
IPADD=$(docker inspect --format='{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' $INSTANCE_NAME)
ping $IPADD
私は containerAを実行できます。ip addreesesを使用して$ピングcontainerBの#containerAからcontainerB にO回避が –
と仮定すると、ホスト名が設定されている〜、あなたは直接pingを実行することができます。私はIPアドレスを使うのが好きですが、それは私だけです。 –