如何找出Docker服务处于挂起状态的原因?

raa*_*rts 17 docker docker-swarm

我玩Docker Swarm,并使用docker-compose.ymldocker deploy.除了一个处于挂起状态的服务之外,所有服务都会被部署.我添加了一个约束,将此服务绑定到其中一个节点.我的问题不是关于这个特定的问题,而是关于如何排除故障的更多问题.Docker文档提到了服务处于挂起状态的可能原因,但这些都不适用(约束问题,资源排放).

我可以在某个地方看到码头工人群'思考过程'吗?它在想什么?

编辑:应该更明确我使用新的1.12引入的swarm选项.

min*_*oyo 29

我将解释如何调试何时服务未在docker swarm模式中按预期启动.

首先,获取一个任务ID docker service ps <service-name>.

接下来,检查元数据很有用docker inspect <task-id>.特别是,容器启动之前的错误消息位于状态字段中,然后再次确认它是否以预期参数启动.

如果任务具有容器ID,则在启动容器后异常退出,因此请检查容器的日志 docker logs <container-id>

我希望这会有所帮助.

  • 谢谢!在我的情况下等待意味着docker swarm找不到合适的节点(符合我的约束) (3认同)