管理建構器

您可以使用 docker buildx 指令,或使用 Docker Desktop 建立、檢查和管理建置器。

建立新的建置器

預設建置器使用 docker 驅動程式。您無法手動建立新的 docker 建置器,但您可以建立使用其他驅動程式的建置器,例如 docker-container 驅動程式,它會在容器中執行 BuildKit 常駐程式。

使用 docker buildx create 指令建立建置器。

$ docker buildx create --name=<builder-name>

如果您省略 --driver 旗標,Buildx 預設會使用 docker-container 驅動程式。如需可用驅動程式的詳細資訊,請參閱 建置驅動程式

列出可用的建置器

使用 docker buildx ls 查看系統上可用的建置器執行個體,以及它們使用的驅動程式。

$ docker buildx ls
NAME/NODE       DRIVER/ENDPOINT      STATUS   BUILDKIT PLATFORMS
default *       docker
  default       default              running  v0.11.6  linux/amd64, linux/amd64/v2, linux/amd64/v3, linux/386
my_builder      docker-container
  my_builder0   default              running  v0.11.6  linux/amd64, linux/amd64/v2, linux/amd64/v3, linux/386

建置器名稱旁邊的星號 (*) 表示選取的建置器

檢查建置器

若要使用 CLI 檢查建置器,請使用 docker buildx inspect <name>。只有在建置器處於作用中狀態時,才能檢查建置器。您可以將 --bootstrap 旗標新增至指令來啟動建置器。

$ docker buildx inspect --bootstrap my_builder
[+] Building 1.7s (1/1) FINISHED                                                                  
 => [internal] booting buildkit                                                              1.7s
 => => pulling image moby/buildkit:buildx-stable-1                                           1.3s
 => => creating container buildx_buildkit_my_builder0                                        0.4s
Name:          my_builder
Driver:        docker-container
Last Activity: 2023-06-21 18:28:37 +0000 UTC

Nodes:
Name:      my_builder0
Endpoint:  unix:///var/run/docker.sock
Status:    running
Buildkit:  v0.11.6
Platforms: linux/arm64, linux/amd64, linux/amd64/v2, linux/riscv64, linux/ppc64le, linux/s390x, linux/386, linux/mips64le, linux/mips64, linux/arm/v7, linux/arm/v6

如果您想查看建置器使用了多少磁碟空間,請使用 docker buildx du 指令。預設情況下,此指令會顯示所有可用建置器的總磁碟使用量。若要查看特定建置器的使用量,請使用 --builder 旗標。

$ docker buildx du --builder my_builder
ID                                        RECLAIMABLE SIZE        LAST ACCESSED
olkri5gq6zsh8q2819i69aq6l                 true        797.2MB     37 seconds ago
6km4kasxgsywxkm6cxybdumbb*                true        438.5MB     36 seconds ago
qh3wwwda7gx2s5u4hsk0kp4w7                 true        213.8MB     37 seconds ago
54qq1egqem8max3lxq6180cj8                 true        200.2MB     37 seconds ago
ndlp969ku0950bmrw9muolw0c*                true        116.7MB     37 seconds ago
u52rcsnfd1brwc0chwsesb3io*                true        116.7MB     37 seconds ago
rzoeay0s4nmss8ub59z6lwj7d                 true        46.25MB     4 minutes ago
itk1iibhmv7awmidiwbef633q                 true        33.33MB     37 seconds ago
4p78yqnbmgt6xhcxqitdieeln                 true        19.46MB     4 minutes ago
dgkjvv4ay0szmr9bl7ynla7fy*                true        19.24MB     36 seconds ago
tuep198kmcw299qc9e4d1a8q2                 true        8.663MB     4 minutes ago
n1wzhauk9rpmt6ib1es7dktvj                 true        20.7kB      4 minutes ago
0a2xfhinvndki99y69157udlm                 true        16.56kB     37 seconds ago
gf0z1ypz54npfererqfeyhinn                 true        16.38kB     37 seconds ago
nz505f12cnsu739dw2pw0q78c                 true        8.192kB     37 seconds ago
hwpcyq5hdfvioltmkxu7fzwhb*                true        8.192kB     37 seconds ago
acekq89snc7j6im1rjdizvsg1*                true        8.192kB     37 seconds ago
Reclaimable:  2.01GB
Total:        2.01GB

移除建置器

使用 docker buildx remove 指令移除建置器。

$ docker buildx rm <builder-name>

如果您移除目前選取的建置器,則會自動選取預設的 docker 建置器。您無法移除預設建置器。

建置器的本機建置快取也會被移除。

移除遠端建置器

移除遠端建置器不會影響遠端建置快取。它也不會停止遠端 BuildKit 常駐程式。它只會移除您與建置器的連線。

使用 Docker Desktop 管理建置器

如果您已開啟 Docker Desktop 建置檢視,您可以在 Docker Desktop 設定 中檢查建置器。