docker中的build命令用于根據(jù)給定的Dockerfile和上下文以構(gòu)建Docker鏡像。
(推薦教程:docker教程)
docker build命令的使用格式:
docker build [OPTIONS] <PATH | URL | ->
1、常用OPTIONS選項(xiàng)
–build-arg,設(shè)置構(gòu)建時的環(huán)境變量
–no-cache,默認(rèn)false。設(shè)置該選項(xiàng),將不使用Build Cache構(gòu)建鏡像
–pull,默認(rèn)false。設(shè)置該選項(xiàng),總是嘗試pull鏡像的最新版本
–compress,默認(rèn)false。設(shè)置該選項(xiàng),將使用gzip壓縮構(gòu)建的上下文
–disable-content-trust,默認(rèn)true。設(shè)置該選項(xiàng),將對鏡像進(jìn)行驗(yàn)證
–file, -f,Dockerfile的完整路徑,默認(rèn)值為‘PATH/Dockerfile’
–isolation,默認(rèn)–isolation="default",即Linux命名空間;其他還有process或hyperv
–label,為生成的鏡像設(shè)置metadata
–squash,默認(rèn)false。設(shè)置該選項(xiàng),將新構(gòu)建出的多個層壓縮為一個新層,但是將無法在多個鏡像之間共享新層;設(shè)置該選項(xiàng),實(shí)際上是創(chuàng)建了新image,同時保留原有image。
–tag, -t,鏡像的名字及tag,通常name:tag或者name格式;可以在一次構(gòu)建中為一個鏡像設(shè)置多個tag
–network,默認(rèn)default。設(shè)置該選項(xiàng),Set the networking mode for the RUN instructions during build
–quiet, -q ,默認(rèn)false。設(shè)置該選項(xiàng),Suppress the build output and print image ID on success
–force-rm,默認(rèn)false。設(shè)置該選項(xiàng),總是刪除掉中間環(huán)節(jié)的容器
–rm,默認(rèn)–rm=true,即整個構(gòu)建過程成功后刪除中間環(huán)節(jié)的容器
2、PATH | URL | -說明
給出命令執(zhí)行的上下文。
上下文可以是構(gòu)建執(zhí)行所在的本地路徑PATH,也可以是遠(yuǎn)程URL,如Git庫、tarball或文本文件等,還可以是-。
構(gòu)建鏡像的進(jìn)程中,可以通過ADD命令將上下文中的任何文件(注意文件必須在上下文中)加入到鏡像中。
可以是PATH,如本地當(dāng)前PATH為.
3、示例
docker build - < Dockerfile
說明:上述構(gòu)建過程只有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