5

オーバーレイ ネットワークを使用してコンテナが通信する Docker Swarm をセットアップしようとしていますが、動作させることができます

Docker Engine 1.12.1 を含む HypriotOS 1.0.0 Linux ディストリビューションを使用して、4 つの Raspberry Pi 3 ボードを使用してインフラストラクチャをシミュレートしています。

Swarm の初期化後、マネージャ ノードに ssh します。

# create one overlay network
$ docker network create --driver overlay swarm_network

# create first service (foo)
$ docker service create --replicas 1 --name foo --network swarm_network resin/rpi-raspbian tail -F -n0 /etc/hosts

# create second service (bar)
$ docker service create --replicas 1 --name bar --network swarm_network resin/rpi-raspbian tail -F -n0 /etc/hosts

# list services
$ docker service ls
ID            NAME  REPLICAS  IMAGE               COMMAND
aqhcndcdoaf4  bar   1/1       resin/rpi-raspbian  tail -F -n0 /etc/hosts
cylg7ws3egx7  foo   1/1       resin/rpi-raspbian  tail -F -n0 /etc/hosts

# find docker host running foo service
$ docker service ps foo
ID                         NAME   IMAGE               NODE     DESIRED  STATE  CURRENT STATE              ERROR
ed6z74ncz1zf0dqc7wph5huvk  foo.1  resin/rpi-raspbian  swarm-2  Running  Running about an hour ago

ssh で swarm-2 ノードに接続

$docker ps
CONTAINER ID        IMAGE                       COMMAND                  CREATED             STATUS              PORTS               NAMES
78b0e421efcd        resin/rpi-raspbian:latest   "/usr/bin/entry.sh ta"   48 seconds ago      Up 45 seconds                           foo.1.ed6z74ncz1zf0dqc7wph5huvk

# exec into the running container 
$ docker exec -it foo.1.ed6z74ncz1zf0dqc7wph5huvk /bin/bash

# try dns resolution (OK)
root@78b0e421efcd:/# nslookup bar                                                                   
Server:     127.0.0.11
Address:    127.0.0.11#53

Non-authoritative answer:
Name:   bar
Address: 10.0.1.4

# ping bar service (FAIL) 
root@314b0ef6c82c:/# ping -c 1 bar
PING bar (10.0.1.4) 56(84) bytes of data.
From 314b0ef6c82c (10.0.1.3) icmp_seq=1 Destination Host Unreachable

--- bar ping statistics ---
1 packets transmitted, 0 received, +1 errors, 100% packet loss, time 0ms

サービスに ping を実行できません。何が間違っていますか?

docker swarm で NSQ を実行しようとしていて、問題がオーバーレイ ネットワークに関連していると考えたため、この質問を開始しました。

これが最初の質問です NSQ Docker Swarm

4

2 に答える 2

-1

ネットワークは必要ありません。マネージャーが「docker swarm init」で初期化され、ノードがネットワークに参加するたびに、docker はいくつかのオーバーレイ ネットワークを作成します。

ネットワークは (イングレス & docker_gwbridge)

ここで vagrant VM を使用してシミュレートされたセットアップを確認できます ( vagrant-docker-cluster )

于 2019-06-19T17:14:36.390 に答える