dockerfile 格式

1.FROM 指定基于哪个基础镜像
FROM <image>:<tag>
2.MAINTAINER <name>
MAINTAINER aming [email protected]
3.RUN 镜像操作
RUN <command> 或者 RUN ["executable","param1","param2"]
RUN yum install httpd
RUN ["/bin/bash","-c","echo htllo"]
4.CMD #只能运行一个,最后一个 CMD 生效
CMD ["executable","param1","param2"]
CMD command param1 param2
CMD ["param1","param2"]
CMD ["/bin/bash","/usr/local/nginx/sbin/nginx","-c","/usr/local/nginx/conf/nginx.conf"]
5.EXPOSE 指定映射出去的端口
EXPOSE 22 80 8443
-P 自动分配容器的服务端口,-p 指定端口
6.ENV 
ENV PATH /usr/local/mysql/bin:$PATH
7.ADD  把本地的文件或目录拷贝到容器的某个目录
其中 src 为 Dockerfile 所在的目录的相对路径,也可以是一个 url
ADD <conf/vhosts> </usr/local/nginx/conf>
8.COPY
格式同 ADD,区别是不支持 url
9.ENTRYPOINT 类似 CMD
    1).CMD 可以被 docker run 覆盖,而ENTRYPOINT 不能被覆盖
          docker run .... bash 其中 的 bash 指令会覆盖 CMD 指令
    2).ENTRYPOINT 比 CMD 优先级高
         ENTRYPOINT [ "/bin/bash","/usr/local/nginx/sbin/nginx" ]
         CMD [ "-c","/usr/local/nginx/conf/nginx.conf" ]
10.VOLUME
VOLUME ["/data"] 创建一个可以从本地主机或其他容器挂载的挂载点
11.USER
USER root 指定运行容器的用户
12.WORKDIR
WORKDIR /path/to/workdir 为RUN,CMD或者 ENTRYPOINT 指定工作目录

你可能感兴趣的:(格式,dockerfile)