这个dockerfile

时间:2016-01-18 20:16:45

标签: docker dockerfile

我的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没有显示任何内容

2 个答案:

答案 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>