介绍
类似一个构建镜像的清单,docker可以根据这个清单进行镜像的自动化构建
保留字
1. FROM
指定基础镜像,并且必须是第一条指令
FROM <image>
FROM <image>:<tag>
2. MAINTAINER
指定作者
MAINTAINER <name>
3. RUN
在构建镜像时需要运行的命令
例如:
RUN yum -y install vim
RUN ["./test.php", "dev", "offline"] # 等价于 RUN ./test.php dev offline
4. CMD
容器启动后需要运行的命令
例如:
CMD echo "hello world"
CMD ["catalina.sh", "run"]
5. ENTRYPOINT
容器启动后需要运行的命令,类似于CMD,但是不会被docker run后面的命令覆盖,这些命令参数会被当做参数送给ENTRYPOINT指令指定的程序。
例如:
FROM nginx
ENTRYPOINT ["nginx", "-c"] # 定参
CMD ["/etc/nginx/nginx.conf"] # 变参
# nginx -c /etc/nginx/nginx.conf
6. ENV
在镜像构建时,创建环境变量
例如:
ENV MY_PATH /usr/mytest
# 使用环境变量
WORKDIR $MY_PATH
7. EXPOSE
当前容器对外暴露出的端口
例如:
EXPOSE 80
8. COPY
复制本地文件或目录到镜像中
例如:
COPY 【源路径】【容器路径】
9. ADD
将宿主机目录下(或远程文件)的文件拷贝进镜像,且会自动处理URL和解压tar压缩包。
例如:
ADD https://example.com/file.tar.gz /tmp/
10. WORKDIR
设置工作目录,后续命令将在该目录下执行
例如:
WORKDIR /app