Docker命令详解(build篇)
命令格式:docker build [OPTIONS] <PATH | URL | ->
Usage: Build an image from a Dockerfile.
中文意思即:使用build命令,在Dockerfile的基础上构建一个镜像。
- 常用选项说明
--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,即整个构建过程成功后删除中间环节的容器
- PATH | URL | -说明:
给出命令执行的上下文。
上下文可以是构建执行所在的本地路径,也可以是远程URL,如Git库、tarball或文本文件等。
如果是Git库,如https://github.com/docker/rootfs.git#container:docker,则隐含先执行git clone --depth 1 --recursive,到本地临时目录;然后再将该临时目录发送给构建进程。
构建镜像的进程中,可以通过ADD命令将上下文中的任何文件(注意文件必须在上下文中)加入到镜像中。
-表示通过STDIN给出Dockerfile或上下文。
示例
docker build -t bjc/demo:latest --rm .
解析:-t bjc/demo:latest
,为构建的镜像标记名称,即镜像名为:bjc/demo,打标为latest;--rm
,整个构建过程成功后删除中间环节的容器;.
,单独的点,意思为根据当前目录下的Dockerfile文件生成镜像