Docker 堆栈部署后未创建容器。在哪里可以找到错误日志?

Docker container not created after stack deploy. Where can I find error logs?

我有一个单节点群。我的堆栈有两个服务。我是这样部署的:

$ docker stack deploy -c /tmp/docker-compose.yml -c /tmp/docker-compose-prod.yml ide-controller"
Creating network ide-controller_default
Creating service ide-controller_app
Creating service ide-controller_traefik

没有错误。但是,根据docker ps,只创建了一个容器。 ide-controller_traefik 容器未创建。

当我检查 docker stack services 时,它显示 0/1 用于 traefik 容器:

ID             NAME                     MODE         REPLICAS   IMAGE                                       PORTS
az4n6brex4zi   ide-controller_app       replicated   1/1        boldidea.azurecr.io/ide/controller:latest
1qp623hi431e   ide-controller_traefik   replicated   0/1        traefik:2.3.6                               *:80->80/tcp, *:443->443/tcp

Docker 服务日志没有任何内容:

$ docker service logs ide-controller_traefik -n 1000
$

docker ps -a 中没有 traefik 个容器,所以我无法查看日志:

$ docker ps -a                                                                                                                                                                                                                                                          
CONTAINER ID   IMAGE                                       COMMAND                  CREATED         STATUS         PORTS      NAMES                                                                                                                                                         
922fdff58c25   boldidea.azurecr.io/ide/controller:latest   "docker-entrypoint.s…"   3 minutes ago   Up 3 minutes   3000/tcp   ide-controller_app.1.py8jrtmufgsf3inhqxfgkzpep

如何找出问题所在或阻止创建容器的原因?

docker service ps <service-name/id> 有一个错误列,可以暴露 libswarm 尝试创建容器时遇到的错误,例如错误的图像名称。 或者,为了更详细地查看,docker service inspect <service-name/id> 具有当前和以前的服务规范,以及一些将跟踪上次操作及其消息的状态的根级节点。