# Dockerfile 中的命令
> Dockerfile支持13个命令, 其中一些命令用于构建镜像,
> 另外一些用于从镜像中运行容器,这是一个关于命令什么时候被用到的表格:
```
BUILD BOTH RUN
FROM WORKDIR CMD
MAINTAINER USER ENV
COPY EXPOSE
ADD VOLUME
RUN ENTRYPOINT
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 image cmd命令覆盖。常用于提供一个默认的可执行程序并使用命令作为参数。
BUILD, RUN命令都有的命令:
USER - 为RUN、CMD、ENTRYPOINT命令设置用户
WORKDIR - 为RUN、CMD、ENTRYPOINT、ADD、COPY命令设置工作目录
本文出自 “技术蓝” 博客,请务必保留此出处http://bstdn.blog.51cto.com/8667020/1895746
原文:http://bstdn.blog.51cto.com/8667020/1895746