Dockerfile 学习笔记
Dockerfile
Dockerfile 的作用是用来构建 docker 镜像(image),使用 Dockerfile 我们可以构建出更符合自己需要的镜像,而编写好的 Dockerfile 我们可以多次使用。
Dockerfile 中的保留字
Dockerfile 中的保留字在使用时全部需要大写,保留字不能再作为属性的值使用。
- FROM:指定当前镜像是基于哪个镜像来构建的
- RUN:构建镜像是需要运行的指令
- EXPOSE:当前容器对外暴露的端口
- WORKDIR:指定容器创建后,终端默认的进入的路径(PATH)
- EVN:用来定义在构建过程中设置环境变量,使用$引用
- ADD:把宿主机目录下的文件和目录拷贝到容器,如果是 tar 文件则会镜像自动解压,如果 ADD 的第一个参数是 URL,则会下载文件然后拷贝到容器
- COPY:把宿主机目录下的文件拷贝到容器,不对被拷贝进行操作,功能通
cp
命令 - VOLUME:设置容器容器数据卷,用于容器中数据持久化存储
- CMD:指定一个容器启动时运行的命令,使用
docker run
命令最后加的命令会覆盖 CMD 指定的命令 - ENTRYPOINT:指定一个容器启动时要运行哪个命令,功能同 CMD 但不能被覆盖。通常与 CMD 配合使用,注意:配合使用时要用数组方式执行命令,即
ENTRYPOINT ["java","-jar"]
。