管理 builders
你可以使用 docker buildx 命令,或使用 Docker Desktop 来创建、检查和管builder。
创建新的 builder(Create a new builder)
默认 builder 使用 docker 驱动。
你不能手动创建新的 docker builder,但你可以创建使用其他驱动的 builder,例如
docker-container 驱动,
它会在容器中运行 BuildKit 守护进程。
使用
docker buildx create
命令来创建 builder。
$ docker buildx create --name=<builder-name>
如果省略 --driver 标志,Buildx 默认使用 docker-container 驱动。有关可用驱动的更多信息,请参阅 Build drivers。
列出可用的 builders(List available builders)
使用 docker buildx ls 查看系统上可用的 builder 实例,以及它们所使用的驱动。
$ 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
builder 名称旁边的星号(*)表示
选中的 builder。
检查一个 builder(Inspect a builder)
要通过 CLI 检查一个 builder,请使用 docker buildx inspect <name>。
你只能检查处于活动状态的 builder。你可以向命令添加 --bootstrap 标志来启动该 builder。
$ 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
如果你想查看某个 builder 使用了多少磁盘空间,请使用 docker buildx du 命令。默认情况下,该命令会显示所有可用 builder 的总磁盘用量。要查看特定 builder 的用量,请使用 --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
移除一个 builder(Remove a builder)
使用
docker buildx remove
命令来移除一个 builder。
$ docker buildx rm <builder-name>
如果你移除了当前选中的 builder,则会自动选中默认的 docker builder。
你不能移除默认 builder。
该 builder 的本地构建缓存也会被移除。
移除远程 builders(Removing remote builders)
移除远程 builder 不会影响远程构建缓存。 它也不会停止远程的 BuildKit 守护进程。 它只会移除你与该 builder 的连接。
使用 Docker Desktop 管理 builders(Manage builders with Docker Desktop)
如果你已开启 Docker Desktop 构建视图, 你可以在 Docker Desktop 设置 中检查 builder。