【发布时间】:2018-02-06 15:26:33
【问题描述】:
我正在试验基于 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;'"
现在当我使用docker run my-nginx-image 运行容器时,我注意到CTRL-C 不再停止容器。
在此更改之前,我最后有以下CMD 声明:
CMD ["nginx", "-g", "daemon off;"]
在这里,CTRL-C 按预期工作:容器已停止。这是为什么?我怎样才能拥有两个世界?
-
CTRL-C工作 -
envsubst包括
更新
经过阅读,我意识到我必须使用CMD [...] 进行引导。但我未能将整个命令 envsubst < ... > ... && nginx -g 'daemon off;' 集成到 [...] 语法中。
【问题讨论】:
-
你试过
docker run -it my-nginx-image吗? -
不,还没有。我主要感兴趣的是如何让
CMD [...]语法在envsubst中工作。我认为这将解决我的问题。
标签: docker nginx dockerfile