小编Joh*_*men的帖子

为什么 CTRL-C 不再停止我的 nginx 容器?

我正在试验一个基于 nginx 的 Dockerfile。最后一行目前看起来像这样:

FROM nginx:alpine
... # not really relevant
CMD /bin/sh -c "envsubst < /etc/nginx/conf.d/site.template > /etc/nginx/conf.d/default.conf && nginx -g 'daemon off;'"
Run Code Online (Sandbox Code Playgroud)

现在,当我使用 运行容器时docker run my-nginx-image,我注意到它CTRL-C不再停止容器。

在进行更改之前,我最后有以下CMD声明:

CMD ["nginx", "-g", "daemon off;"]
Run Code Online (Sandbox Code Playgroud)

在这里,CTRL-C按预期工作:容器已停止。这是为什么?我怎么能同时拥有两个世界?

  • CTRL-C 在职的
  • envsubst 包括

更新

经过一些阅读,我意识到我必须使用CMD [...]. 但我未能将整个命令envsubst < ... > ... && nginx -g 'daemon off;'整合到[...]语法中。

nginx docker dockerfile

3
推荐指数
1
解决办法
1637
查看次数

标签 统计

docker ×1

dockerfile ×1

nginx ×1