dockerfile基于centos7打包nginx

FROM centos:7
MAINTAINER Jack.Liu
LABEL Discription="nginx base of centos7" version="1.0"
RUN yum install epel-release -y
RUN yum install nginx -y
WORKDIR /etc/nginx/conf.d/
#RUN rm -rf *
COPY ./plstor.conf /etc/nginx/conf.d/
RUN mkdir /opt/register/
#RUN systemctl restart nginx
#RUN nginx -t\
#    &&nginx -g "daemon off;"\
#    &&nginx -c /etc/nginx/nginx.conf\
#    &&nginx -s reload\
VOLUME ["/opt/register/"]
EXPOSE 80
EXPOSE 8080
CMD ["nginx", "-g", "daemon off;"]

CMD指定容器启动的主进程。

CMD有两种形式:(1)sh -c (2)exec推荐使用

容器就是进程,主进程结束。容器就会退出。

之前介绍容器的时候曾经说过,Docker 不是虚拟机,容器就是进程。既然是进程,那么在启
动容器的时候,需要指定所运行的程序及参数。 CMD 指令就是用于指定默认的容器主进程的

启动命令的。(多条CMD只有最后一个有效,ENTRYPOINT有多条也是只有最后一条起作用)



RUN 指令是用来执行命令行命令的。由于命令行的强大能力, RUN 指令在定制镜像时是最

常用的指令之一。

Dockerfile 中每一个指令都会建立一层, RUN 也不例外。


在创建Dockerfile的时候,RUNCMD都是很重要的命令。它们各自的作用分别如下:

RUN

RUN命令是创建Docker镜像(image)的步骤,RUN命令对Docker容器( container)造成的改变是会被反映到创建的Docker镜像上的。一个Dockerfile中可以有许多个RUN命令。

CMD

CMD命令是当Docker镜像被启动后Docker容器将会默认执行的命令。一个Dockerfile中只能有一个CMD命令。通过执行docker run $image $other_command启动镜像可以重载CMD命令。


猜你喜欢

转载自blog.csdn.net/jackliu16/article/details/80529108