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

Docker容器执行run命令后频繁退出,请求技术排查协助

解决Docker容器启动后立即退出的问题

问题根源

你的Dockerfile里的CMD指令格式错误,用了大括号{},Docker会把它当作shell命令执行,系统找不到{"nginx","-g","daemon off;"}这个命令,导致容器启动失败,退出码127(命令未找到)。

修复方案

把CMD指令改成JSON数组格式(用中括号[]),正确的Dockerfile如下:

FROM ubuntu
RUN apt update -y
RUN apt install nginx -y
COPY . /var/www/html/
CMD ["nginx", "-g", "daemon off;"]

为什么这样改?

  • Docker的CMD有两种格式:JSON数组格式和shell格式。
  • 用JSON数组时,Docker会直接执行nginx命令,不会通过shell中转;daemon off;参数能让nginx在前台运行,而Docker容器会一直运行到主进程退出,这样容器就能保持运行状态。
  • 你也可以用shell格式写CMD nginx -g "daemon off;",但JSON数组格式更推荐,能避免shell解析带来的额外问题。

验证修复

重新构建镜像并运行:

docker build -t image1 .
docker run -itd --name cont1 -p 8081:80 image1

执行docker ps查看容器状态,会显示容器处于运行中,访问http://localhost:8081就能看到nginx默认页面。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.17 22:17:03