这个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。