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

第二个docker-compose文件新增服务为孤儿容器且不在docker-compose ps输出显示

问题原因

你在启动服务时指定了-f docker-compose.yml -f docker-compose.prod.yml两个配置文件合并执行,但后续执行docker-compose ps、docker-compose down等命令时,没有携带相同的-f参数组合。

docker-compose默认只会读取当前目录下的docker-compose.yml和可选的docker-compose.override.yml作为有效配置。你的nginx服务仅在docker-compose.prod.yml中定义,不指定该文件的情况下,docker-compose无法识别该服务属于当前项目,因此不会在ps结果中展示,还会把已经运行的nginx容器判定为孤儿容器,在执行down命令时给出警告。

解决方法

所有操作该生产环境的docker-compose命令,都需要携带完整的配置文件参数:

  • 查看服务状态:
docker-compose -f docker-compose.yml -f docker-compose.prod.yml ps
  • 停止并删除服务:
docker-compose -f docker-compose.yml -f docker-compose.prod.yml down

如果觉得每次输入参数过于繁琐,可以通过COMPOSE_FILE环境变量指定配置文件列表:

# 仅当前终端窗口生效
export COMPOSE_FILE=docker-compose.yml:docker-compose.prod.yml
# 配置完成后可直接执行常规docker-compose命令
docker-compose ps
docker-compose down

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.14 05:54:02