2016-12-02 7 views
1

私のシナリオでは、私はキー値ストアバックエンドとして "consul"を使用し、ドッカーをインストールした2台のVMをさらに使用します。私はこれらの2つのVM上のドッカデーモンを実行していますコマンドは、次のとおりです。ドッカー - 同じオーバレイネットワーク内の異なるホストのコンテナ間の接続

sudo docker daemon -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock \ 
--cluster-store consul://{CONSUL_IP}:8500 --cluster-advertise eth0:2376 

はまた領事を実行するためのコマンドは次のとおりです。

を:この後

sudo docker daemon -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock 

、私が使用してネットワークを作成しよう

sudo docker run -itd --name containerX --net my-overlay busybox 
01:
sudo docker network create -d overlay --subnet=192.168.3.0/24 my-overlay 

とVMSのそれぞれにおける 私はbusyboxのコンテナを実行します

ここで、Xはそのうちの1つで、もう1つはBです。ここ

最初のVMから "ドッキングウィンドウの情報" である:

$ sudo docker info 
Containers: 4 
Running: 2 
Paused: 0 
Stopped: 2 
Images: 3 
Server Version: 1.12.3 
Storage Driver: aufs 
Root Dir: /var/lib/docker/aufs 
Backing Filesystem: extfs 
Dirs: 17 
Dirperm1 Supported: false 
Logging Driver: json-file 
Cgroup Driver: cgroupfs 
Plugins: 
Volume: local 
Network: overlay bridge host null 
Swarm: inactive 
Runtimes: runc 
Default Runtime: runc 
Security Options: apparmor 
Kernel Version: 3.13.0-76-generic 
Operating System: Ubuntu 14.04.3 LTS 
OSType: linux 
Architecture: x86_64 
CPUs: 1 
Total Memory: 1.955 GiB 
Name: cs-webserving-4 
ID: ESSZ:WBCV:W6NU:ODJ6:3ZIW:QHMH:TEXP:M66M:NYF5:MNWB:H4M7:Z3L6 
Docker Root Dir: /var/lib/docker 
Debug Mode (client): false 
Debug Mode (server): false 
Registry: https://index.docker.io/v1/ 
WARNING: No swap limit support 
Cluster Store: consul://10.254.1.92:8500 
Cluster Advertise: 10.254.1.123:2376 
Insecure Registries: 
127.0.0.0/8 

そして、ここでは他のVMである:

$ sudo docker info 
Containers: 4 
Running: 2 
Paused: 0 
Stopped: 2 
Images: 3 
Server Version: 1.12.3 
Storage Driver: aufs 
Root Dir: /var/lib/docker/aufs 
Backing Filesystem: extfs 
Dirs: 17 
Dirperm1 Supported: false 
Logging Driver: json-file 
Cgroup Driver: cgroupfs 
Plugins: 
Volume: local 
Network: overlay host bridge null 
Swarm: inactive 
Runtimes: runc 
Default Runtime: runc 
Security Options: apparmor 
Kernel Version: 3.13.0-76-generic 
Operating System: Ubuntu 14.04.3 LTS 
OSType: linux 
Architecture: x86_64 
CPUs: 1 
Total Memory: 1.955 GiB 
Name: cs-webserving-3 
ID: BTAL:L3LE:BHSX:DQRD:HTC4:KXJE:T772:47TU:4KJZ:NIY4:7WTY:Q6TO 
Docker Root Dir: /var/lib/docker 
Debug Mode (client): false 
Debug Mode (server): false 
Registry: https://index.docker.io/v1/ 
WARNING: No swap limit support 
Cluster Store: consul://10.254.1.92:8500 
Cluster Advertise: 10.254.1.122:2376 
Insecure Registries: 
127.0.0.0/8 

問題 私はcontainerAからc​​ontainerBにpingを実行しようと、私は答えを得る:

sudo docker exec containerB ping -w 5 192.168.3.5 
PING 192.168.3.5 (192.168.3.5): 56 data bytes 

--- 192.168.3.5 ping statistics --- 
5 packets transmitted, 0 packets received, 100% packet loss 

192.168.3.5はオーバーレイネットワーク内のコンテナAのIPです。 **注:** IPの代わりに "containerA"という名前も試しましたが、どちらも動作しませんでした。

私のシナリオではどのような問題がありますか?任意のヒントや解決策が評価されます。

+0

これらのIPアドレスはどこから取得していますか? 'docker network inspect my-overlay'の出力をすべてのマシンに投稿できますか? – johnharris85

答えて

1

容器を連結してみてください。

例:あなたがpingを実行できる

$ docker run -ti --name containerA --link containerB:containerB_alias ubuntu bash 

:あなたはドッカーの[[email protected]]$ ping containerB_alias

0

どのバージョンを使用していますか?現在、従来のコンテナはオーバーレイネットワークに接続することができず、サービスのみが接続されています。これはオーバーレイネットワークの作成のために--attachableキーワードでバージョン1.13で修正される予定です。

同じオーバレイネットワーク上に2つのサービスを作成する方がいいかもしれません。その後、彼らはサービス名で直接お互いを参照することができます。

関連する問題