无法连接到docker swarm服务任务

时间:2016-11-02 11:57:12

标签: docker docker-swarm

我在Docker Swarm上发布了一系列博客文章,并试图在https://docs.mongodb.com/v3.0/core/wiredtiger/(服务发现和负载平衡)的最后一部分中做一个例子。这个想法是开始3个" whoami"名为bar的服务,仅报告其主机的主机名和名为foo的Nginx服务的1个实例,从中执行/bin/bash并向bar发送请求{1}}通过curl。但是,我的服务在启动后立即退出,并且不允许我对它们执行任何命令。

在管理器节点上给出一个具有1个管理器和2个工作器的现有Docker Swarm设置:

# 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

我做错了什么?

1 个答案:

答案 0 :(得分:1)

命令docker service ps <service>给出的id实际上不是容器ID,而是任务ID。要找出容器ID,请运行docker inspect --format="{{.Status.ContainerStatus.ContainerID}}" <task id>。或者,您可以在运行服务任务的节点上使用普通docker ps,并按名称找出正确的容器。

相关问题