命令格式: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文件生成鏡像