DockerFile常用关键字指令

常用关键字指令

关键字(必须大写) 描述
FROM 指定一个已经存在的镜像作为模板,第一条必须是FROM
MAINTAINER 镜像维护者姓名和邮箱
RUN 容器构建时需要运行的命令;
shell格式:RUN <命令行命令>比如RUN yum install -y vim;
exec格式:RUN [“可执行文件”,“参数1”,“参数2”]比如RUN [“./test.php”,“dev”,“offline”]等价于RUN ./test.php dev offline
RUN是在docker build时运行
EXPOSE 当前容器对外暴露的端口
WORKDIR 指定在创建容器后,终端默认登录进来的工作目录,一个落脚点
USER 指定该镜像以什么样的用户去执行,如果不指定默认root
ENV 在构建镜像过程中设置环境变量,这个环境变量可以在后续的任何RUN中使用
举例:ENV MY_PATH /usr/test;WORKDIR $MY_PATH
ADD 将宿主机目录下的文件拷贝进镜像且会自动处理URL和解压tar压缩包
COPY 类似ADD,拷贝文件和目录到镜像中
VOLUME 容器数据卷,用于数据保存和持久化工作
CMD 指定容器启动后要干的事情
Dockerfile中可以有多个CMD指令,但只有最后一个生效,CMD会被docker run之后的参数替换
和RUN命令的区别:CMD在docker run时运行;RUN在docker build运行
ENTRYPOINT 也是用来指定一个容器启动时要运行的命令
类似于CMD命令,但是ENTRYPOINT不会被docker run后的的命令覆盖
有多个ENTRYPOINT时仅最后一个生效
ENTRYPOINT和CMD一起用时,CMD相当于传参给ENTRYPOINT了就会变成 ""

你可能感兴趣的:(docker,docker)