为什么 Ubuntu 图像而不是 Nginx 图像 docker 文件需要关闭 CMD 守护程序?
Why is CMD daemon off needed for Ubuntu image and not Nginx image docker files?
我有一个问题,我的 docker 容器在使用 UBUNTU 图像构建后会立即停止,并发现 CMD nginx 守护程序关闭,在某些情况下 NGINX 需要。但是,当我使用 NGINX 构建 docker 图像时,不需要这样做。任何人都可以解释或指出我参考 material 吗? Docker 个文件如下。两者都有效,但必须让守护程序关闭 CMD 才能继续运行。
UBUNTU DOCKER 文件:
FROM ubuntu
LABEL maintainer="bnalaska96@yahoo.com"
RUN apt-get update && apt-get install nginx -y
COPY index.html /var/www/html/
EXPOSE 80
RUN date +"%A, %b %d, %Y %H:%M:%S" >> /var/www/html/index.html
CMD ["nginx","-g","daemon off;"]
NGINX DOCKER文件:
FROM nginx:latest
LABEL maintainer="bnalaska96@yahoo.com"
RUN apt-get update && apt-get install nginx -y
COPY ./index.html /usr/share/nginx/html/index.html
WORKDIR /usr/share/nginx/html
EXPOSE 80
RUN date +"%A, %b %d, %Y %H:%M:%S" >> /usr/share/nginx/html/index.html
Docker 图像从其基础图像继承其 ENTRYPOINT
and/or CMD
。如果您查看 nginx
image's Dockerfile,它已经具有您引用的确切 CMD
行,因此您无需在派生图像中重复它。
我有一个问题,我的 docker 容器在使用 UBUNTU 图像构建后会立即停止,并发现 CMD nginx 守护程序关闭,在某些情况下 NGINX 需要。但是,当我使用 NGINX 构建 docker 图像时,不需要这样做。任何人都可以解释或指出我参考 material 吗? Docker 个文件如下。两者都有效,但必须让守护程序关闭 CMD 才能继续运行。
UBUNTU DOCKER 文件:
FROM ubuntu
LABEL maintainer="bnalaska96@yahoo.com"
RUN apt-get update && apt-get install nginx -y
COPY index.html /var/www/html/
EXPOSE 80
RUN date +"%A, %b %d, %Y %H:%M:%S" >> /var/www/html/index.html
CMD ["nginx","-g","daemon off;"]
NGINX DOCKER文件:
FROM nginx:latest
LABEL maintainer="bnalaska96@yahoo.com"
RUN apt-get update && apt-get install nginx -y
COPY ./index.html /usr/share/nginx/html/index.html
WORKDIR /usr/share/nginx/html
EXPOSE 80
RUN date +"%A, %b %d, %Y %H:%M:%S" >> /usr/share/nginx/html/index.html
Docker 图像从其基础图像继承其 ENTRYPOINT
and/or CMD
。如果您查看 nginx
image's Dockerfile,它已经具有您引用的确切 CMD
行,因此您无需在派生图像中重复它。