maintainer 这个参数已经弃用了 官方推荐 LABEL 做为信息标注shell
ADD 命令数据库
ADD有2个参数,源和目标。它的基本做用是从源系统的文件系统上复制文件到目标容器的的文件系统。若是源是1个URL,那该URL的内容将被下载并复制到容器中。vim
如 ADD run.sh /app
CMD 命令ui
和RUN命令类似,CMD能够用于执行特定的命令。和RUN不一样的是,这些命令不是在镜像构建的过程当中执行的,而是在用镜像启动容器后被调用。io
如 CMD "command" "arg1" "arg2"容器
COPY 命令基础
用于复制文件到镜像中变量
COPY <src> <dst>配置
src 只能是与Dockerfile同级的本地文件
如 COPY run.sh /
ENTRYPOINT 命令
配置一个容器使之可执行化,若是结合CMD命令和ENTRYPOINT命令,能够从CMD命令中移除"application" 而仅仅保留参数,参数将传递给ENTRYPOINT命令
如 ENTRYPOINT ["/run.sh","arg1","arg2"]
ENV 用于设置环境变量 。 这些变量以 "key=value"的形式存在,在Dockerfile中其余命令里能够直接引用,并能够在容器内被脚本或者程序调用
如 ENV version=12345
ENV release 1.0.1
EXPOSE 用来指定容器内端口映射到外部,是容器内的应用能够经过端口和外界交互
如 EXPOSE 8080
FROM 指定基础镜像
如 FROM lentos:7
LABEL 为镜像定义标签信息
如 LABEL job.name="Project1" build.user="admin"
ONBUILD 只针对当前镜像生效
RUN 是Dockerfile执行shell命令的核心部分。接受命令做为参数并用于建立镜像,不像CMD命令。RUN命令用于建立进行过程当中 多条命令以&或‘;’ 结合
如 RUN yum update -y && yum install -y vim
STOPSIGNAL 当容器退出时给系统发送什么样的指令
USER 用于设置运行容器的用户与组
如 USER www.www
USER admin
USER 1000
VOLUME 建立一个能够从本地主机或其余容器挂载的挂载点,通常用来存放数据库等各类须要持久化的数据
如 VOLUME ["/data"]
WORKDIR 设置CMD指明的命令运行目录
如 WORKDIR /tmp