dockerfile基于centos7打包nginx
FROM centos:7MAINTAINER Jack.LiuLABEL Discription="nginx base of centos7" version="1.0"RUN yum install epel-release -yRUN yum install nginx -yWORKDIR /etc/nginx/conf.d/#RUN rm -rf
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
的时候,RUN
和CMD
都是很重要的命令。它们各自的作用分别如下:
RUN
RUN
命令是创建Docker镜像(image)的步骤,RUN
命令对Docker容器( container)造成的改变是会被反映到创建的Docker镜像上的。一个Dockerfile
中可以有许多个RUN
命令。
CMD
CMD
命令是当Docker镜像被启动后Docker容器将会默认执行的命令。一个Dockerfile
中只能有一个CMD
命令。通过执行docker run $image $other_command
启动镜像可以重载CMD
命令。
更多推荐
所有评论(0)