-
Notifications
You must be signed in to change notification settings - Fork 135
Open
Description
Description
When using two bind-mounts, with the dst of the second nested under the dst of the first, an error is raised the first time:
docker: Error response from daemon: failed to create task for container: failed to create shim task: OCI runtime create failed: runc create failed: unable to start container process: error during container init: error mounting "/host_mnt/Users/.../mwe/bar.txt" to rootfs at "/foo/bar.txt": create mountpoint for /foo/bar.txt mount: mountpoint "/run/host_virtiofs/Users/.../mwe/foo/bar.txt" is outside of rootfs "/var/lib/docker/rootfs/overlayfs/74e02eb18898f35b13ee61c1c74902da80648d317fca568be8a7d2ecadde222d"
Reproduce
- Create two files:
mkdir foo/; echo 'Hello world' > bar.txt - Run
docker run --rm --mount type=bind,src=./foo,dst=/foo --mount type=bind,src=./bar.txt,dst=/foo/bar.txt ubuntu:24.04 cat /foo/bar.txt - Run the same command again
Expected behavior
Expected:
Under earlier versions both step2 and step3 would output 'Hello world'. The running of step2 creates an empty file 'foo/bar.txt'
Actual:
Under the latest version, step2 gives an error message (but still creates the empty file 'foo/bar.txt'), and step3 works as usual.
Deleting the empty file, and running the command again, results in the error situation, with the next run working as desired.
docker version
Client:
Version: 29.2.0
API version: 1.53
Go version: go1.25.6
Git commit: 0b9d198
Built: Mon Jan 26 19:25:13 2026
OS/Arch: darwin/arm64
Context: desktop-linux
Server: Docker Desktop 4.59.1 (217750)
Engine:
Version: 29.2.0
API version: 1.53 (minimum version 1.44)
Go version: go1.25.6
Git commit: 9c62384
Built: Mon Jan 26 19:25:48 2026
OS/Arch: linux/arm64
Experimental: false
containerd:
Version: v2.2.1
GitCommit: dea7da592f5d1d2b7755e3a161be07f43fad8f75
runc:
Version: 1.3.4
GitCommit: v1.3.4-0-gd6d73eb8
docker-init:
Version: 0.19.0
GitCommit: de40ad0docker info
Client:
Version: 29.2.0
Context: desktop-linux
Debug Mode: false
Plugins:
ai: Docker AI Agent - Ask Gordon (Docker Inc.)
Version: v1.17.2
Path: /Users/USERNAME/.docker/cli-plugins/docker-ai
buildx: Docker Buildx (Docker Inc.)
Version: v0.31.1-desktop.1
Path: /Users/USERNAME/.docker/cli-plugins/docker-buildx
compose: Docker Compose (Docker Inc.)
Version: v5.0.2
Path: /Users/USERNAME/.docker/cli-plugins/docker-compose
debug: Get a shell into any image or container (Docker Inc.)
Version: 0.0.47
Path: /Users/USERNAME/.docker/cli-plugins/docker-debug
desktop: Docker Desktop commands (Docker Inc.)
Version: v0.2.0
Path: /Users/USERNAME/.docker/cli-plugins/docker-desktop
extension: Manages Docker extensions (Docker Inc.)
Version: v0.2.31
Path: /Users/USERNAME/.docker/cli-plugins/docker-extension
init: Creates Docker-related starter files for your project (Docker Inc.)
Version: v1.4.0
Path: /Users/USERNAME/.docker/cli-plugins/docker-init
mcp: Docker MCP Plugin (Docker Inc.)
Version: v0.37.0
Path: /Users/USERNAME/.docker/cli-plugins/docker-mcp
model: Docker Model Runner (Docker Inc.)
Version: v1.0.8
Path: /Users/USERNAME/.docker/cli-plugins/docker-model
offload: Docker Offload (Docker Inc.)
Version: v0.5.41
Path: /Users/USERNAME/.docker/cli-plugins/docker-offload
pass: Docker Pass Secrets Manager Plugin (beta) (Docker Inc.)
Version: v0.0.24
Path: /Users/USERNAME/.docker/cli-plugins/docker-pass
sandbox: Docker Sandbox (Docker Inc.)
Version: v0.10.1
Path: /Users/USERNAME/.docker/cli-plugins/docker-sandbox
sbom: View the packaged-based Software Bill Of Materials (SBOM) for an image (Anchore Inc.)
Version: 0.6.0
Path: /Users/USERNAME/.docker/cli-plugins/docker-sbom
scout: Docker Scout (Docker Inc.)
Version: v1.19.0
Path: /Users/USERNAME/.docker/cli-plugins/docker-scout
Server:
Containers: 15
Running: 0
Paused: 0
Stopped: 15
Images: 7
Server Version: 29.2.0
Storage Driver: overlayfs
driver-type: io.containerd.snapshotter.v1
Logging Driver: json-file
Cgroup Driver: cgroupfs
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: dea7da592f5d1d2b7755e3a161be07f43fad8f75
runc version: v1.3.4-0-gd6d73eb8
init version: de40ad0
Security Options:
seccomp
Profile: builtin
cgroupns
Kernel Version: 6.12.67-linuxkit
Operating System: Docker Desktop
OSType: linux
Architecture: aarch64
CPUs: 8
Total Memory: 7.653GiB
Name: docker-desktop
ID: b5e4e99d-0dee-48b2-acd8-23f0c09e82d8
Docker Root Dir: /var/lib/docker
Debug Mode: false
HTTP Proxy: http.docker.internal:3128
HTTPS Proxy: http.docker.internal:3128
No Proxy: hubproxy.docker.internal
Labels:
com.docker.desktop.address=unix:///Users/USERNAME/Library/Containers/com.docker.docker/Data/docker-cli.sock
Experimental: false
Insecure Registries:
hubproxy.docker.internal:5555
::1/128
127.0.0.0/8
Live Restore Enabled: falseDiagnostics ID
diagnostics purposefully disabled
Additional Info
Tested this using docker for windows, docker on linux, and docker for mac, all the latest version. Only docker-for-mac showed this problem.
Reactions are currently unavailable