Nginx 在shell脚本退出时保持Docker运行

Nginx 在shell脚本退出时保持Docker运行,nginx,docker,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映像 容器启动,但是,当

我有以下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脚本退出时,docker容器停止


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

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

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

对于容器,当pid 1消失时,容器也消失。这与在任何Linux机器上终止pid 1(init)时相同。

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

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

对于容器,当pid 1消失时,容器也消失。这与在任何Linux计算机上终止pid 1(init)时相同。

在运行后但在映像名之前使用
-d
调用run。在运行后但在映像名之前使用
-d
调用run。