-
Notifications
You must be signed in to change notification settings - Fork 134
Open
Description
Description
Updates on a file will not be reflected in container.
It will only fail, when the filesystem is below the /System/Volumes/Data folder.
It does work well when filesystem is below /Users/username, /Volumes/Data.
I am quite sure that this did work 1-2 years ago, when using Apple Hypervisor and VirtioFS with directories below /System/Volumes/Data.
macOS 26.2 (25C56), APFS (Encrypted)
Reproduce
# macOS
cd /System/Volumes/Data
sudo mkdir docker-test
sudo chown <my-user> docker-test
cd docker-test
mkdir directory
echo "123" >directory/test.txt
# add /System/Volumes/Data/docker-test as file-sharing resource to Docker
docker run -it -w /var/workdir --mount type=bind,source="/System/Volumes/Data/docker-test",target=/var/workdir --rm alpine sh
/var/workdir # cat directory/test.txt
123
# now change file in another host console: append 456
echo "456" >>directory/test.txt
# now check again file in container, no update visible
/var/workdir # cat directory/test.txt
111
# now change file in another host console: add 789 in vi
vi directory/test.txt
# now check again file in container, error
/var/workdir # cat directory/test.txt
cat: can't open 'directory/test.txt': No such file or directory
# check directory
/var/workdir # ls -al directory/
total 4
drwxr-xr-x 3 root root 96 Jan 26 11:05 .
drwxr-xr-x 2 root root 64 Jan 26 10:59 ..
-rw-r--r-- 1 root root 16 Jan 26 11:05 test.txt
# now check again file in container, all updates visible
/var/workdir # cat directory/test.txt
123
456
789Expected behavior
File update should be visible in container immediately.
docker version
Client:
Version: 29.1.3
API version: 1.52
Go version: go1.25.5
Git commit: f52814d
Built: Fri Dec 12 14:48:46 2025
OS/Arch: darwin/arm64
Context: desktop-linux
Server: Docker Desktop 4.57.0 (215387)
Engine:
Version: 29.1.3
API version: 1.52 (minimum version 1.44)
Go version: go1.25.5
Git commit: fbf3ed2
Built: Fri Dec 12 14:50:40 2025
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.1.3
Context: desktop-linux
Debug Mode: false
Plugins:
ai: Docker AI Agent - Ask Gordon (Docker Inc.)
Version: v1.17.1
Path: /Users/username/.docker/cli-plugins/docker-ai
buildx: Docker Buildx (Docker Inc.)
Version: v0.30.1-desktop.1
Path: /Users/username/.docker/cli-plugins/docker-buildx
compose: Docker Compose (Docker Inc.)
Version: v5.0.1
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.35.0
Path: /Users/username/.docker/cli-plugins/docker-mcp
model: Docker Model Runner (Docker Inc.)
Version: v1.0.6
Path: /Users/username/.docker/cli-plugins/docker-model
offload: Docker Offload (Docker Inc.)
Version: v0.5.40
Path: /Users/username/.docker/cli-plugins/docker-offload
pass: Docker Pass Secrets Manager Plugin (beta) (Docker Inc.)
Version: v0.0.22
Path: /Users/username/.docker/cli-plugins/docker-pass
sandbox: Docker Sandbox (Docker Inc.)
Version: v0.6.0
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: 0
Running: 0
Paused: 0
Stopped: 0
Images: 1
Server Version: 29.1.3
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.54-linuxkit
Operating System: Docker Desktop
OSType: linux
Architecture: aarch64
CPUs: 10
Total Memory: 7.653GiB
Name: docker-desktop
ID: c1f54a72-46a9-4ebb-afe3-5686ebca1111
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
127.0.0.0/8
::1/128
Live Restore Enabled: falseDiagnostics ID
238F29B6-D7EC-45F6-9094-A03DB8FCD1E1/20260126120023
Additional Info
Meanwhile I switched to podman, where file synchronisation does work well even when filesystem is below /System/Volumes/Data.