2016-11-02 12 views
2

Docker Swarmに関する一連のブログ記事に続き、https://lostechies.com/gabrielschenker/2016/09/11/docker-and-swarm-mode-part-2/(サービスディスカバリとロードバランシング)の最後のセクションで例を挙げようとしています。その目的は、barという3つのインスタンスを開始することです。ホストのホスト名とNginxサービスの1インスタンス(foo)を起動し、/bin/bashに実行し、curl経由でbarに発呼します。しかし、私のサービスは起動直後に終了し、私はそれらのコマンドを実行させません。ドッカースウォームサービスタスクに接続できません

は、管理ノード上で、1人のマネージャーと2人の労働者と既存のドッカースウォームのセットアップを考える:

# docker service create --name foo --replicas 1 --network test nginx 
194bw6mbgwyhmyl82zcxbyzat 

# docker service create --name bar --replicas 3 --network test --publish 8000:8000 jwilder/whoami 
alhz41p6usu7pbyesiiqh2hrd 

# docker service ls 
ID NAME REPLICAS IMAGE COMMAND 
194bw6mbgwyh foo 0/1 nginx 
alhz41p6usu7 bar 0/3 jwilder/whoami 

# docker service ps foo 
ID NAME IMAGE NODE DESIRED STATE CURRENT STATE ERROR 
5vlgohetx4l95hm2mcggd4r6a foo.1 nginx docker-swarm-1 Running Running 5 seconds ago 

# docker service ps bar 
ID NAME IMAGE NODE DESIRED STATE CURRENT STATE ERROR 
f1w9dxlaqgjlscwkf6ocdrui9 bar.1 jwilder/whoami docker-swarm-2 Running Running 23 seconds ago 
7xg7p0rc8oerp0p6nvnm3l73i bar.2 jwilder/whoami docker-swarm-2 Running Running 24 seconds ago 
8m2ct4pcc8t263z1n4zmitn5y bar.3 jwilder/whoami docker-swarm-3 Running Running 25 seconds ago 

そして、結果として:

# docker exec -it 5vlgohetx4l95hm2mcggd4r6a /bin/bash 
Error response from daemon: No such container: 5vlgohetx4l95hm2mcggd4r6a 

私が間違って何をやっているの?

+0

「ドッカースウォームサービスタスクに接続できません」というタイトルに更新される可能性がありますか? – ronkot

答えて

1

コマンドdocker service ps <service>が与えるidは、実際にはコンテナIDではなく、タスクIDです。コンテナIDを調べるには、docker inspect --format="{{.Status.ContainerStatus.ContainerID}}" <task id>を実行してください。あるいは、サービスタスクが実行されているノードでただ普通のdocker psを使用し、その名前で正しいコンテナを見つけることができます。

+0

に注目!ありがとう! –

関連する問題