You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Docker CE教程中docker stack deploy无报错但未创建容器求助

排查Docker Stack部署无报错但服务未启动的问题

我之前也碰到过这种“命令返回成功但实际服务没跑起来”的糟心情况,结合你的环境(Ubuntu 17.10 + Docker CE 18.03.1-ce),给你几个实用的排查方向:

1. 先确认服务状态并查看日志

首先执行命令查看服务的实际运行状态:

docker service ls

重点看compose-example_web这条服务的REPLICAS列,如果显示0/1,说明系统期望启动1个实例但实际没有运行中的容器。

接着查看服务的启动日志,这是定位问题的关键:

docker service logs compose-example_web

很多时候命令行没抛出错误,但日志里会暴露真相——比如镜像拉取失败(镜像名拼写错误、私有仓库未授权)、容器启动命令有误、端口被占用,或是环境变量配置缺失等。

2. 检查Swarm模式是否已初始化

Docker Stack是Swarm集群模式专属的命令,如果你的环境还没初始化Swarm,哪怕docker stack deploy不报错,服务也不会被正常调度启动。执行以下命令确认并初始化:

# 查看Swarm状态
docker info | grep Swarm
# 如果显示Swarm: inactive,初始化单节点Swarm
docker swarm init

完成初始化后,重新执行你的部署命令试试。

3. 用docker-compose单独验证配置文件

先把docker-compose.yml脱离Swarm模式测试,执行:

docker-compose up

这个命令会在前台启动容器并实时输出日志,能更快定位配置文件里的问题——比如挂载的volumes路径不存在、网络模式冲突、容器依赖的服务未就绪等。

4. 查看Docker守护进程的系统日志

如果上面的步骤都没找到问题,就去排查Docker daemon本身的运行日志,Ubuntu上可以通过以下命令查看:

journalctl -u docker.service

这里可能会看到底层报错,比如存储驱动异常、权限不足(Docker无法访问指定目录)、系统资源不足等问题。


内容的提问来源于stack exchange,提问作者JesseTG

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 03:39:56