DockerFile常用保留字指令
参考tomcat8的dockerfile入门
https://github.com/docker-library/tomcat
FROM
基础镜像,当前新镜像是基于哪个镜像的,指定一个已经存在的镜像作为模板,第一条必须是FROM
MAINTAINER
镜像维护者的姓名和邮箱地址
RUN
容器构建时需要运行的命令
两种格式:
shell 格式
exec 格式
RUN是在 docker build 时运行的
EXPOSE
当前容器对外暴露出的端口
WORKDIR
指定在创建容器后,终端默认登录的进来工作目录,一个落脚点
USER
指定该镜像以什么样的用户去执行,如果都不指定,默认是root
ENV
用来在构建镜像的过程中设置环境变量
ADD
将宿主机目录下的文件拷贝进镜像且会自动处理URL和解压tar压缩包
COPY
类似ADD,拷贝文件和目录到镜像中。
将从构建上下文目录中<源路径>的文件/目录复制到新的一层的镜像内的<目标路径>位置
COPU src dest
COPY ["src","dest"]
<src源路径>:源文件或者源目录
<dest目录路径>:容器内的指定路径,该路径不用事先建好。
VOLUME
容器数据卷,用于数据保存和持久化工作
CMD
Dockerfile 中可以有多个CMD指令,但只有最后一个生效,CMD会被docker run 之后的参数替换。
CMD与前面RUN命令的区别:
CMD实在docker run 时运行。
RUN实在docker build 时运行。
ENTRYPOINT
也是用来指定一个容器启动时要运行的命令
类似与CMD指令,但是ENTRYPOINT不会被docker run后面的命令覆盖,
而且这些命令行参数会被当做参数送给ENTRYPOINT指令指定的程序
优点:
注意:
命令格式和案例说明