我的dockerfile出了什么问题? dockerfile也在我的repo的根文件夹和dist文件夹中。
FROM nginx
# copy folder
COPY dist /usr/share/nginx/html
EXPOSE 8080
CMD ["nginx"]
我建立了图像:
docker build -f Dockerfile.nginx -t localhost:5000/test/image:${version} .
执行docker images
看起来很简单但是当我尝试将图像作为容器运行时:
docker run -d -p 80:8080 localhost:5000/test/image:15
545445f961f4ec22becc0688146f3c73a41504d65467020a3e572d136354e179
但是:Exited (0) About a minute ago
docker logs
没有显示任何内容
答案 0 :(得分:2)
默认nginx
行为作为守护程序运行。要阻止此次nginx
参数daemon off
。
CMD ["nginx", "daemon off"]
答案 1 :(得分:2)
默认情况下,Nginx将分叉到后台并且 - 当原始前台进程终止时 - Docker容器将立即停止。您可以查看original image's Dockerfile如何处理此问题:
CMD ["nginx", "-g", "daemon off;"]
标志-g "daemon off;"
导致Nginx无法分叉,而是继续在前台运行。并且因为您已经扩展了官方nginx
图片,所以您可以完全放弃CMD
行,因为无论如何它将从基本图片继承。< / p>