指令 | 描述 | 指令 | 描述 |
FROM | 构建的新镜像是基于哪个镜像 例如:FROM centos:6 | COPY | 拷贝文件或目录到镜像,用法同上 例如:COPY ./start.sh /start.sh |
MAINTAINER | 镜像维护者姓名或邮箱地址 例如:MAINTAINER lizhenliang | ENTRYPOINT | 运行容器时执行的Shell命令 例如: ENTRYPOINT [“/bin/bash", “-c", “/start.sh"] ENTRYPOINT /bin/bash -c ‘/start.sh’ |
RUN | 构建镜像时运行的Shell命令 例如: RUN [“yum”, “install”, “httpd”] RUN yum install httpd | VOLUME | 指定容器挂载点到宿主机自动生成的目录或其他容器 例如: VOLUME ["/var/lib/mysql"] |
CMD | 运行容器时执行的Shell命令 例如: CMD [“-c”, “/start.sh”] CMD ["/usr/sbin/sshd", "-D"] CMD /usr/sbin/sshd –D | USER | 为RUN、CMD和ENTRYPOINT执行命令指定运行用户 USER 例如:USER lizhenliang |
EXPOSE | 声明容器运行的服务端口 例如:EXPOSE 80 443 | WORKDIR | 为RUN、CMD、ENTRYPOINT、COPY和ADD设置工作目录 例如:WORKDIR /data |
ENV | 设置容器内环境变量 例如:ENV MYSQL_ROOT_PASSWORD 123456 | HEALTHCHECK | 健康检查 HEALTHCHECK --interval=5m --timeout=3s --retries=3 <br> CMD curl -f http://localhost/ || exit 1 |
ADD | 拷贝文件或目录到镜像,如果是URL或压缩包会自动下载或自动解压 ADD ADD [“ ADD https://xxx.com/html.tar.gz /var/www/html ADD html.tar.gz /var/www/html | ARG | 在构建镜像时指定一些参数 例如: FROM centos:6 ARG user # ARG user=root USER $user # docker build --build-arg user=lizhenliang Dockerfile . |