这个dockerfile有什么问题
我的dockerfile有什么问题? dockerfile在我的回购和dist文件夹的根文件夹中。
FROM nginx # copy folder COPY dist /usr/share/nginx/html EXPOSE 8080 CMD ["nginx"]
我build立的形象:
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
什么也没有显示
默认的nginx
行为是作为一个守护进程运行的。 为了防止这个参数daemon off
运行nginx
daemon off
。
CMD ["nginx", "daemon off"]
默认情况下,Nginx将分叉到后台,并且 – 当原始前台进程终止时,Docker容器将立即停止。 您可以看看原始图像的Dockerfile如何处理:
CMD ["nginx", "-g", "daemon off;"]
标志-g "daemon off;"
导致Nginx不分叉,而是继续在前台运行。 而且由于你已经在扩展官方的nginx
镜像了 ,所以你可以放下你的CMD
线,因为它将从基本镜像inheritance。