Dockerfile:包含建立镜像所需的所有指令数据库
Dockerfile 分为四部分:基础镜像信息、维护者信息、镜像操做指令和容器启动时执行指令,支持以#开头的注释行网络
相关指令:ide
1.FROM p_w_picpath 或者 FROM <p_w_picpath>:<tag>ui
能够为后面的指令提供基础镜像,所以一个有效的Dockerfile必须以FROM指令做为第一条非注释指令,若是在同一个Dockerfile中建立多个镜像时,能够使用多个 FROM 指令(每一个镜像一次)url
2.MAINTAINER <author name>spa
设置该镜像的做者orm
3.ENV <key><value>或者 <key>=<value>it
能够为镜像建立处理的容器声明环境变量,会被后续RUN指令使用,并在容器运行时保持table
4.COPY <src> <dest>class
复制src中指定的文件或目录到新的镜像中,当使用本地目录为源目录时,推荐使用COPY指令
5.ADD <src><dest>
和copy相似,都支持复制本地文件到镜像的功能,其中 src能够是一个指向网络文件的url;src也能够指向一个本地压缩文件,该文件在复制到容器中时会解压提取
6.RUN <command>
RUN指令会在前一条命令建立出的镜像的基础上建立一个容器,并在容器中运行命令,在命令结束运行后提交容器为新镜像,新镜像被Dockerfile中的下一条指令使用
7. CMD ["executable","param1","param2"] (exec执行,推荐使用)或CMD <command>或 CMD ["param1","param2"] 或 CMD command param1 param2
一个Dockerfile中能够有多条CMD指令,但只有最后一条CMD指令有效
8.ENTRYPOINT <command> 或者 ["executable","param1","param2"],配置容器启动后执行的命令
配置给容器一个可执行的命令,一个Dockerfile中能够有多条ENTRYPOINT指令,但只有最后一条ENTRYPOINT指令有效
9.ONBUILD [INSTRUCTION]
添加一个未来执行的触发器指令到镜像中,配置当所建立的镜像做为其它新建立镜像的基础镜像时,所执行的操做指令
10.EXPOST <port>
指定容器在运行是监听的端口映射
11.WORKDIR /path/to/workdir
指定RUN,CMD和ENTRYPOINT命令的工做目录,可以使用多个workdir指令,后续命令若是参数是相对路径,则会基于以前命令指定的路径
12.USER <uid>
镜像正在运行时设置一个UID
13.VOLUME ["/data"]
受权访问从容器内到主机上的目录,通常用来存放数据库和须要保持的数据