Docker swarm中容器一直停留在”new”状态

158次阅读
没有评论

问题描述

在使用Docker swarm部署服务栈时,遇到了一个问题。无论他在compose文件中写入什么内容,所有的服务都停留在”NEW”状态,无法启动。用户想知道可能出了什么问题,希望能找到更多的信息。

解决方案

请注意以下操作注意版本差异及修改前做好备份。

方案1

根据用户提供的信息,问题可能出在网络定义上。当用户尝试使用相同的网络定义部署两个栈时,会导致服务无法调度。因此,我们需要确保不会重复声明相同的网络。
以下是解决方案的步骤:
1. 检查compose文件中的网络定义,确保没有重复声明相同的网络。
2. 如果确实需要使用相同的网络定义,可以尝试修改网络名称,以避免冲突。
3. 重新部署服务栈,检查是否能够成功启动服务。

方案2

如果问题不是由网络定义引起的,那么可能是由于stack文件的其他问题导致的。以下是一些可能导致容器停留在”new”状态的常见问题:
– stack文件中的语法错误或缩进错误。请确保stack文件的语法正确,并且缩进正确。
– stack文件中的服务定义错误。请检查服务定义是否正确,并且没有遗漏任何必要的配置。
– stack文件中的网络定义错误。请确保网络定义正确,并且与其他服务栈没有冲突。
– stack文件中的依赖关系错误。请检查服务之间的依赖关系是否正确,并且没有遗漏任何必要的依赖关系。
– Docker swarm的配置错误。请确保Docker swarm的配置正确,并且没有任何问题。
如果以上解决方案都无法解决问题,请参考下面的链接获取更多关于Docker swarm故障排除的方法。

相关链接

正文完