当shell脚本退出时,保持Docker运行

时间:2016-07-19 13:06:26

标签: nginx docker

我有以下docker文件。

FROM ubuntu
RUN apt-get update
EXPOSE 9000:80

# Install nginx
RUN apt-get install -y nginx

# Install Curl
RUN apt-get -qq update
RUN apt-get -qq -y install curl
ENTRYPOINT service nginx start

当我尝试在shell脚本中运行以下命令时,会创建docker镜像 但是,当shell脚本退出时,会启动容器和容器。

如何在shell脚本退出后保持docker容器运行?我们的想法是在端口80上运行一个运行nginx的容器,可以使用端口9000从主机访问。

1 个答案:

答案 0 :(得分:2)

不要将nginx作为后台服务运行。当它在hub.docker.com上的nginx容器执行时,在前台启动它:

CMD ["nginx", "-g", "daemon off;"]

使用容器时,当pid 1死亡时,您的容器会死亡。它与在任何Linux机器上杀死pid 1(init)时相同。