容器无法以 swarm 模式启动

container fails to start in swarm mode

我尝试使用 swarm 模式启动 docker 服务,但无法连接到端口 8080

~ $ docker service ls
ID                  NAME                MODE                REPLICAS            IMAGE                  PORTS
3tdzofpn6qo5        vigilant_wescoff    replicated          0/1                 shantanu/abc:latest   *:8080->8080/tcp

~ $ docker service ps 3tdzofpn6qo5
ID                  NAME                     IMAGE                  NODE                                          DESIRED STATE       CURRENT STATE             ERROR               PORTS
iki0t3x1oqmz        vigilant_wescoff.1       shantanuo/abc:latest   ip-172-31-4-142.ap-south-1.compute.internal   Ready               Ready 1 second ago                
z88nyixy7u10         \_ vigilant_wescoff.1   shantanu/abc:latest   ip-172-31-4-142.ap-south-1.compute.internal   Shutdown            Complete 5 minutes ago            
zf4fac2a4dlh         \_ vigilant_wescoff.1   shantanu/abc:latest   ip-172-31-4-142.ap-south-1.compute.internal   Shutdown            Complete 11 minutes ago           
zzqj4lldmxox         \_ vigilant_wescoff.1   shantanu/abc:latest   ip-172-31-6-134.ap-south-1.compute.internal   Shutdown            Complete 14 minutes ago           
z8eknet7oirq         \_ vigilant_wescoff.1   shantanu/abc:latest   ip-172-31-20-50.ap-south-1.compute.internal   Shutdown            Complete 17 minutes ago           

我用 docker for aws(社区版)

https://docs.docker.com/docker-for-aws/#docker-community-edition-ce-for-aws

但我想这应该没有任何区别,容器应该可以工作。我已经使用 docker 运行 命令对其进行了测试,它按预期工作。

如果是群模式,我怎么知道到底出了什么问题?

  1. 您可以在管理器上使用 docker events 来查看编排器在做什么(但您看不到历史记录)。
  2. 您可以对工人使用 docker events 来查看 containers/networks/volumes 等人在做什么(但您看不到历史记录)。
  3. 您可以查看 docker service logs 以查看当前和过去的容器日志
  4. 您可以使用 docker container inspect 查看该服务任务列表中已停止容器的退出(错误)代码。