docker-dockerfile

发布时间 2023-09-18 16:19:06作者: 家乐福的搬砖日常

1.dockerfile是什么?

dockerfile是一个文本文件,其中包含了一条条指令(instruction),用于构建docker镜像。每一条指令构建一层镜像,因此每一条指令的内容,就是描述该层镜像应当如何构建。

dockerfile 用于指示 docker image build 命令自动构建Image的源代码
是纯文本文件

示例:docker build -f /path/Dockerfile

注意点:

#是注释;

指令建议大写,内容小写;

docker是按照Dockerfile指令顺序依次执行的,也就是说从上到下;

每一个Dockerfile的第一行都是非注释性的,也就是说第一行不能是注释,必须是FROM指令,来指定基础镜像,后面的指令都以基础镜像为运行环境。如果构建过程中本地没有指定镜像文件,就会去远端仓库拉。

2.dockerfile常用指令

指令的一般格式为 INSTRUCTION arguments,指令包括 FROM、MAINTAINER、RUN 等

2.1 FROM指令

每一个Dockerfile的第一行都是非注释性的,也就是说第一行不能是注释,必须是FROM指令,来指定基础镜像,后面的指令都以基础镜像为运行环境。如果构建过程中本地没有指定镜像文件,就会去远端仓库拉。,如果在同一个Dockerfile中创建多个镜像时,可以使用多个 FROM 指令(每个镜像一次)。

语法:

FROM <image>
FROM <image>:<tag>
FROM <image>@<digest>

示例: FROM mysql:5.6

注: tag或digest是可选的,如果不使用这两个值时,会使用latest版本的基础镜像