docker build
命令用于根据给定的Dockerfile
和上下文以构建Docker镜像。
docker build
命令的使用格式:
docker build [OPTIONS] <PATH | URL | ->
1. 常用OPTIONS
选项说明
--build-arg,设置构建时的环境变量
--no-cache,默认false。设置该选项,将不使用Build Cache构建镜像
--pull,默认false。设置该选项,总是尝试pull镜像的最新版本
--compress,默认false。设置该选项,将使用gzip压缩构建的上下文
--disable-content-trust,默认true。设置该选项,将对镜像进行验证
--file, -f,Dockerfile的完整路径,默认值为‘PATH/Dockerfile’
--isolation,默认--isolation="default",即Linux命名空间;其他还有process或hyperv
--label,为生成的镜像设置metadata
--squash,默认false。设置该选项,将新构建出的多个层压缩为一个新层,但是将无法在多个镜像之间共享新层;设置该选项,实际上是创建了新image,同时保留原有image。
--tag, -t,镜像的名字及tag,通常name:tag或者name格式;可以在一次构建中为一个镜像设置多个tag
--network,默认default。设置该选项,Set the networking mode for the RUN instructions during build
--quiet, -q ,默认false。设置该选项,Suppress the build output and print image ID on success
--force-rm,默认false。设置该选项,总是删除掉中间环节的容器
--rm,默认--rm=true,即整个构建过程成功后删除中间环节的容器
2. PATH | URL | -
说明
给出命令执行的上下文。
上下文可以是构建执行所在的本地路径PATH
,也可以是远程URL
,如Git库、tarball
或文本文件等,还可以是-
。
构建镜像的进程中,可以通过ADD
命令将上下文中的任何文件(注意文件必须在上下文中)加入到镜像中。
可以是PATH
,如本地当前PATH
为.
如果是Git
库,如https://github.com/docker/rootfs.git#container:docker
,则隐含先执行git clone --depth 1 --recursive
,到本地临时目录;然后再将该临时目录发送给构建进程。
-
表示通过STDIN
给出Dockerfile
或上下文。
3. 示例
docker build - < Dockerfile
说明:上述构建过程只有Dockerfile
,没有上下文
docker build - < context.tar.gz
说明:其中Dockerfile
位于context.tar.gz
包中的根路径
docker build -t champagne/myProject:latest -t champagne/myProject:v2.1 .
docker build -f dockerfiles/Dockerfile.debug -t myapp_debug .