目录
FROM 指定基础镜像,dockerfile构建镜像的第一个指令
RUN 指定Linux命令,建议多个命令用 && 或 ; 串起来使用
Dockerfile文件编写
1.什么是Dockerfile
Dockerfile 是一个文本文件,其内包含了一条条的指令(Instruction),用于构建镜像。每一条指令构建一层镜像,因此每一条指令的内容,就是描述该层镜像应当如何构建。dockerfile的原理就是镜像分层。
Dockerfile 用于指示 docker image build 命令自动构建Image的源代码是纯文本文件。
2. Dockerfile作用
- 标准化构建流程:它确保每次构建镜像的过程都是相同的,这有助于复现性和可维护性。
- 自动化构建:自动化处理从基础镜像到最终镜像的整个构建过程。
- 可重复性:可以多次使用同一个 Dockerfile 构建镜像,每次都得到相同的结果。
- 环境配置:可以在 Dockerfile 中配置运行应用所需的所有依赖项和环境变量。
3.dockerfile 的基本结构:
- 基础映像(Base Image):使用 FROM 指令指定基础映像,作为构建镜像的起点。基础映像通常包含了操作系统和一些预装的软件和工具。
- 构建过程指令:使用一系列指令来描述构建过程,例如 RUN 用于执行命令和安装软件包,COPY 用于拷贝文件和目录,ADD 用于拷贝和提取文件,WORKDIR 用于设置工作目录,等等。
- 容器启动指令:使用 CMD 或 ENTRYPOINT 指令来定义容器启动时要执行的命令,也就是默认的容器执行命令。
4.dockerfile指令:
FROM 指定基础镜像,dockerfile构建镜像的第一个指令
Eg:FROM centos:centos7.9.2009
LABEL 指定镜像维护人信息
Eg:LABEL ZhangSan zs@163.com
ADD/COPY 复制本地文件/目录到镜像中
COPY 指令用于将本地文件复制到容器中。可以复制单个文件,也可以复制整个目录。
语法格式:
COPY src dest
COPY ["src", "dest"]
解析:
- <src源路径>:源文件或者源目录
- <dest目标路径>:容器内的指定路径,该路径不用事先建好,路径不存在的话,会自动创建。
Eg:COPY test.txt /absoluteDir/
ADD 将宿主机目录下(或远程文件)的文件拷贝进镜像,且会自动处理URL和解压tar压缩包。
语法格式:
ADD URL /dest #将文件下载到容器内部并以dest命名
ADD URL /dest/ #将文件下载到容器内的/dest目录
ADD src /dest/ #将本地文件传到容器/dest目录下,压缩文件会自动解压