- FROM
- 基于哪个镜像
- MAINTAINER
- 注明作者
- COPY
- 复制文件进入容器(只能使用相对路径,不能使用绝对路径)
- ADD
- 复制文件进入容器(与COPY的不同是,如果复制的是.tar.gz文件,将会被解压)
- WORKDIR
- 指定工作目录,假如目录不存在,会自动创建
- ENV
- 设置环境变量
- EXPOSE
- 暴露容器端口
- RUN
- 在构建镜像的时候执行,作用于镜像层面
- ENTRYPOINT
- 在容器启动的时候执行,作用于容器层,dockerfile里有多条时只允许执行最后一条
- 若为exec命令格式,可以接收CMD的参数
- CMD
- 在容器执行的时候执行,作用于容器层,dockerfile里有多条时只允许执行最后一条
- 容器启动后执行默认的命令或参数,允许被修改
- exec命令格式下,ENTRYPOINT参数优先执行,CMD指定的为参数
- 命令格式
- shell命令格式:RUN yum install -y net-tools
- exec命令格式:RUN ["yum","install","-y","net-tools"]
dockerfile示例:
#第一个 FROM centos:7 RUN echo "images building!" CMD ["echo","container","starting..."] ENTRYPOINT ["echo","container","starting !!!"] #第二个 FROM centos:7 RUN echo "images building!" CMD ["echo","containe1r","starting..."] CMD ["echo","container2","starting..."] ENTRYPOINT ["echo","container2","starting !!!"] ENTRYPOINT ["echo","container2","starting !!!"] #第三个 FROM centos:7 CMD ["-ef"] ENTRYPOINT ["ps"]