docker build 命令
通过docker build
命令来构建一个Docker
镜像。docker build
会读取Dockerfile
文件并将context
一起构建成一个镜像。
context
可以是PATH
或者URL
。PATH
是本地文件系统中的一个目录,URL
是远程git
仓库地址。
context
是递归处理的,因此是包含文件夹下面的所有文件和文件夹的。
下面的例子使用当前文件夹作为context
构建镜像:
$ docker build .
默认情况下,Dockerfile
应该在当前文件夹下面,但是你也可以通过-f
指定放在其它位置的Dockerfile
:
$ docker build -f /path/to/a/Dockerfile .
可以通过-t
指定构建成功之后,新镜像的repository
和tag
(默认是latest
):
$ docker build -t shykes/myapp .
或者
$ docker build -t shykes/myapp:1.0 .
结果如下所示:
-t
也可以在一次构建中连续使用:
$ docker build -t shykes/myapp:1.0.2 -t shykes/myapp:latest .
Dockerfile指令
一般而言,Dockerfile
分为四部分:
- 基础镜像信息
- 维护者信息
- 镜像操作指令
- 容器启动时执行的指令
Dockerfile
支持以#
开头的注释信息。
在Dockerfile
文件中,指令格式如下:
INSTRUCTION arguments
INSTRUCTION
部分是不区分大小写的,但是按照惯例使用大写,例如FROM
、RUN
。
一个Dockerfile
文件必须以FROM
指令开头,Docker
按照Dockerfile
文件中的书写顺序执行一条条的指令。
下面依次介绍各个指令。
FROM
FROM [--platform=<platform>] <image> [AS <name>]
或者:
FROM [--platform=<platform>] <image>[:<tag>] [AS <name>]
或者:
FROM [--platform=<platform>] <image>[@<digest>] [AS <name>]
<