【问题标题】:Keep Docker running when shell script exits当 shell 脚本退出时保持 Docker 运行
【发布时间】:2016-07-19 23:35:33
【问题描述】:

我有以下 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 容器运行?我们的想法是让 nginx 运行在端口 80 上的运行容器,可以使用端口 9000 从主机访问。

【问题讨论】:

    标签: nginx docker


    【解决方案1】:

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

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

    对于容器,当 pid 1 死亡时,您的容器也会死亡。这与您在任何 Linux 机器上终止 pid 1 (init) 时相同。

    【讨论】:

    • 在运行后但在您的图像名称之前使用-d 调用运行。
    猜你喜欢
    • 2021-09-16
    • 1970-01-01
    • 2021-05-09
    • 2021-07-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-06
    相关资源
    最近更新 更多