在nginx吊舱中重新启动失败的容器时出错

在nginx吊舱中重新启动失败的容器时出错,nginx,kubernetes,dockerfile,Nginx,Kubernetes,Dockerfile,使用kubernetes部署nginx映像的简单用例 用于创建图像的Dockerfile。dockerfile COPY语句中的“/build/”是reactjs代码的输出目录(npm run build)。其中只有静态文件 FROM nginx COPY ./build/ /usr/share/nginx/html/ RUN rm -f /etc/nginx/conf.d/default.conf COPY ./default.conf /etc/nginx/conf.d/ CMD ["ng

使用kubernetes部署nginx映像的简单用例

用于创建图像的Dockerfile。dockerfile COPY语句中的“/build/”是reactjs代码的输出目录(npm run build)。其中只有静态文件

FROM nginx
COPY ./build/ /usr/share/nginx/html/ 
RUN rm -f /etc/nginx/conf.d/default.conf
COPY ./default.conf /etc/nginx/conf.d/
CMD ["nginx"]
EXPOSE 80 
nginx部署中为什么会出现此错误?错误为“退出重新启动失败的容器”。 手动运行容器,但nginx未运行。我可以手动启动nginx。Dockerfile或/etc/nginx/conf.d/default.conf文件中是否缺少任何配置?文件已复制并可在路径中供参考

root@desktop:~/github/nginx-app# docker run -it private.registry.corp/company-dev-poc/nginx-cms:001 bash
root@fc7ebd431ae2:/# service nginx status
[FAIL] nginx is not running ... failed!
使用
CMD[“nginx”、“-g”、“守护进程关闭;”]


此外,您不需要指定命令。在本例中,CMD和EXPOSE将在基本映像-nginx中定义。它们不需要再次定义。

您已经运行了
docker。。。bash
,这意味着您从图像创建了一个容器,并在其中运行了一个
bash
进程。您可能需要的是在没有命令的情况下运行name@zerkms-我使用的图像是从Dockerfile创建的,该文件中包含“CMD[“nginx”]”。但是当在没有“dockerrun-itprivate.registry/nginxcms:001”这样的命令的情况下运行时,容器会立即退出。此映像如何开始kubectl部署?如果容器立即存在,则表示
CMD
已退出。谢谢Palash Goel。只是想办法让它发挥作用。将静态文件复制到根目录应该满足上下文的要求,对吗?Dockerfile的其余部分看起来不错,但可以缩短。这里,我们使用一个自定义映像,它已经在内部定义了config。Docker文件更简单:来自rivigotech/nginx:1.13.12-reconf COPY dist//usr/share/nginx/html