Contributing guidelines
I've found a bug and checked that ...
Description
I had setup docker community on my amd64 host, WSL2 setup, started the setup to add a new builder to my amd64 host with the following commands, starting with the new context host using SSH:
docker context create arm64-host --docker "host=ssh://<ssh-user>@<lan-ip>" --description "Remote ARM64 Docker host"
docker buildx create --name native-multi --use default
docker buildx create --name native-multi --append arm64-host
Those commands work just fine and return no errors, but when running the bootstrap command, I got this error:
docker buildx inspect --bootstrap native-multi
[+] Building 1.8s (2/2) FINISHED
=> [native-multi0 internal] booting buildkit
1.8s
=> => pulling image moby/buildkit:buildx-stable-1
1.3s
=> => creating container buildx_buildkit_native-multi0
0.6s => ERROR [native-multi1 internal] booting buildkit
1.4s => => pulling image moby/buildkit:buildx-stable-1
1.3s => => creating container buildx_buildkit_native-multi1
0.1s
------
> [native-multi1 internal] booting buildkit:
------
ERROR: Error response from daemon: invalid mount config for type "bind": bind source path does not exist: /usr/lib/wsl
But If I create the directory /usr/lib/wsl with sudo permissions on the ARM64 host, this error does not happen and the bootstrap works.
Expected behaviour
The command buildx inspect --bootstrap native-multi should return the summary and no errors:
[+] Building 2.3s (1/1) FINISHED
=> [internal] booting buildkit 2.0s
=> => pulling image moby/buildkit:buildx-stable-1 1.4s
=> => creating container buildx_buildkit_native-multi0 0.7s
Name: native-multi
Driver: docker-container
Last Activity: 2026-04-08 02:30:57 +0000 UTC
Nodes:
Name: native-multi0
Endpoint: arm64-host
Status: running
BuildKit daemon flags: --allow-insecure-entitlement=network.host
BuildKit version: v0.29.0
Platforms: linux/arm64, linux/arm/v7, linux/arm/v6
Labels:
org.mobyproject.buildkit.worker.executor: oci
org.mobyproject.buildkit.worker.hostname: 640ad2db5f2f
org.mobyproject.buildkit.worker.network: host
org.mobyproject.buildkit.worker.oci.process-mode: sandbox
org.mobyproject.buildkit.worker.selinux.enabled: false
org.mobyproject.buildkit.worker.snapshotter: overlayfs
GC Policy rule#0:
All: false
Filters: type==source.local,type==exec.cachemount,type==source.git.checkout
Keep Duration: 48h0m0s
Max Used Space: 488.3MiB
GC Policy rule#1:
All: false
Keep Duration: 1440h0m0s
Reserved Space: 9.313GiB
Max Used Space: 87.54GiB
Min Free Space: 22.35GiB
GC Policy rule#2:
All: false
Reserved Space: 9.313GiB
Max Used Space: 87.54GiB
Min Free Space: 22.35GiB
GC Policy rule#3:
All: true
Reserved Space: 9.313GiB
Max Used Space: 87.54GiB
Min Free Space: 22.35GiB
Actual behaviour
The command buildx inspect --bootstrap native-multi returns the error:
ERROR: Error response from daemon: invalid mount config for type "bind": bind source path does not exist: /usr/lib/wsl
Buildx version
github.com/docker/buildx v0.31.1 a267595
Docker info
# AMD64 Host
Client: Docker Engine - Community
Version: 29.3.0
Context: default
Debug Mode: false
Plugins:
buildx: Docker Buildx (Docker Inc.)
Version: v0.31.1
Path: /usr/libexec/docker/cli-plugins/docker-buildx
compose: Docker Compose (Docker Inc.)
Version: v5.1.1
Path: /usr/libexec/docker/cli-plugins/docker-compose
model: Docker Model Runner (Docker Inc.)
Version: v1.1.17
Path: /usr/libexec/docker/cli-plugins/docker-model
Server:
Containers: 60
Running: 2
Paused: 0
Stopped: 58
Images: 41
Server Version: 29.3.0
Storage Driver: overlayfs
driver-type: io.containerd.snapshotter.v1
Logging Driver: json-file
Cgroup Driver: systemd
Cgroup Version: 2
Plugins:
Volume: local
Network: bridge host ipvlan macvlan null overlay
Log: awslogs fluentd gcplogs gelf journald json-file local splunk syslog
CDI spec directories:
/etc/cdi
/var/run/cdi
Swarm: inactive
Runtimes: io.containerd.runc.v2 runc
Default Runtime: runc
Init Binary: docker-init
containerd version: 301b2dac98f15c27117da5c8af12118a041a31d9
runc version: v1.3.4-0-gd6d73eb8
init version: de40ad0
Security Options:
seccomp
Profile: builtin
cgroupns
Kernel Version: 6.6.87.2-microsoft-standard-WSL2
Operating System: Ubuntu 24.04.4 LTS
OSType: linux
Architecture: x86_64
CPUs: 12
Total Memory: 31.25GiB
Name: DESKTOP-DESKTOP
ID: 38d0c6a0-7c4c-4408-98a8-88c84a2fa803
Docker Root Dir: /var/lib/docker
Debug Mode: false
Experimental: false
Insecure Registries:
::1/128
127.0.0.0/8
Live Restore Enabled: false
Firewall Backend: iptables
# ARM64 Host
Client: Docker Engine - Community
Version: 29.3.1
Context: default
Debug Mode: false
Plugins:
buildx: Docker Buildx (Docker Inc.)
Version: v0.33.0
Path: /usr/libexec/docker/cli-plugins/docker-buildx
compose: Docker Compose (Docker Inc.)
Version: v5.1.1
Path: /usr/libexec/docker/cli-plugins/docker-compose
model: Docker Model Runner (Docker Inc.)
Version: v1.1.29
Path: /usr/libexec/docker/cli-plugins/docker-model
Server:
Containers: 2
Running: 2
Paused: 0
Stopped: 0
Images: 3
Server Version: 29.3.1
Storage Driver: overlayfs
driver-type: io.containerd.snapshotter.v1
Logging Driver: json-file
Cgroup Driver: systemd
Cgroup Version: 2
Plugins:
Volume: local
Network: bridge host ipvlan macvlan null overlay
Log: awslogs fluentd gcplogs gelf journald json-file local splunk syslog
CDI spec directories:
/etc/cdi
/var/run/cdi
Swarm: inactive
Runtimes: io.containerd.runc.v2 runc
Default Runtime: runc
Init Binary: docker-init
containerd version: 301b2dac98f15c27117da5c8af12118a041a31d9
runc version: v1.3.4-0-gd6d73eb8
init version: de40ad0
Security Options:
seccomp
Profile: builtin
cgroupns
Kernel Version: 6.12.75+rpt-rpi-2712
Operating System: Debian GNU/Linux 13 (trixie)
OSType: linux
Architecture: aarch64
CPUs: 4
Total Memory: 7.874GiB
Name: ARM64HOST
ID: 17725f52-f04a-492e-8128-af7991d6e64c
Docker Root Dir: /var/lib/docker
Debug Mode: false
Experimental: false
Insecure Registries:
::1/128
127.0.0.0/8
Live Restore Enabled: false
Firewall Backend: iptables
WARNING: No memory limit support
WARNING: No swap limit support
Builders list
NAME/NODE DRIVER/ENDPOINT STATUS BUILDKIT PLATFORMS
native-multi* docker-container
\_ native-multi0 \_ unix:///var/run/docker.sock running v0.28.1 linux/amd64 (+3), linux/386
\_ native-multi1 \_ arm64-host running v0.28.1 linux/arm64, linux/arm (+2)
arm64-host docker
\_ arm64-host \_ arm64-host running v0.28.1 linux/arm64
default docker
\_ default \_ default running v0.28.0 linux/amd64 (+3)
Configuration
Not applicable
Build logs
Additional info
This is my WSL 2 info:
WSL version: 2.6.3.0
Kernel version: 6.6.87.2-1
WSLg version: 1.0.71
MSRDC version: 1.2.6353
Direct3D version: 1.611.1-81528511
DXCore version: 10.0.26100.1-240331-1435.ge-release
Windows version: 10.0.26200.8037
.wslconfig file (I disabled gpuSupport to see if the error changed):
[wsl2]
autoProxy=false
networkingMode=Mirrored
gpuSupport=false
Contributing guidelines
I've found a bug and checked that ...
Description
I had setup docker community on my amd64 host, WSL2 setup, started the setup to add a new builder to my amd64 host with the following commands, starting with the new context host using SSH:
Those commands work just fine and return no errors, but when running the bootstrap command, I got this error:
But If I create the directory /usr/lib/wsl with sudo permissions on the ARM64 host, this error does not happen and the bootstrap works.
Expected behaviour
The command buildx inspect --bootstrap native-multi should return the summary and no errors:
Actual behaviour
The command buildx inspect --bootstrap native-multi returns the error:
Buildx version
github.com/docker/buildx v0.31.1 a267595
Docker info
Builders list
Configuration
Not applicable
Build logs
Additional info
This is my WSL 2 info:
.wslconfig file (I disabled gpuSupport to see if the error changed):