# Dockerfile 中的命令git
> Dockerfile支持13个命令, 其中一些命令用于构建镜像,docker
> 另一些用于从镜像中运行容器,这是一个关于命令何时被用到的表格: ide
```spa
BUILD BOTH RUN命令行
FROM WORKDIR CMD继承
MAINTAINER USER ENVget
COPY EXPOSEcmd
ADD VOLUMEit
RUN ENTRYPOINTclass
ONBUILD
.dockerignore
```
BUILD 命令:
FROM - 新镜像是基于哪一个镜像的
MAINTAINER - 镜像维护者的姓名和邮箱地址
COPY - 拷贝文件和目录到镜像中
ADD - 同COPY同样,但会自动处理URL和解压tarball压缩包
RUN - 在容器中运行一个命令, 好比:apt-get install
ONBUILD - 当构建一个被继承的Dockerfile时运行命令
.dockerignore - 不是一个命令, 但它能控制什么文件被加入到构建的上下文中,
构建镜像时应该包含.git以及其它的不须要的文件。
RUN 命令:
CMD - 运行容器时的默认命令,能够被命令行参数覆盖
ENV - 设置容器内的环境变量
EXPOSE - 从容器中暴露出端口, 必须显式的经过在主机上的RUN命令带上-p或者-P来暴露端口
VOLUME - 指定一个在文件系统以后的存储目录。若是不是经过docker run -v设置的, 那么将被建立为/var/lib/docker/volumes
ENTRYPOINT - 指定一个命令不会被docker run p_w_picpath cmd命令覆盖。经常使用于提供一个默认的可执行程序并使用命令做为参数。
BUILD, RUN命令都有的命令:
USER - 为RUN、CMD、ENTRYPOINT命令设置用户
WORKDIR - 为RUN、CMD、ENTRYPOINT、ADD、COPY命令设置工做目录