Description:
When docker compose watch is configured as below, renaming a file or directory only works if it is located at the root level. However, it does not work when it is a subdirectory or file in this subdirectory.
The following happens when a file or directory which is not at root level is renamed on the host:
Start watching running service with docker compose watch webapp3 or do docker compose up --watch webapp3.
Change a file in a subdirectory: mv components/button/Base.vue components/button/Base1.vue.
On the host (Windows 11), the file rename is complete, and in the WSL2 context, the file rename is also done successfully. However, in the container, the directory is as follows:
/components/
button/
Base.vue
Base1.vue
Expected Result:
The renamed file should be correctly reflected in the container, with only Base1.vue existing.
Actual Result:
Both Base.vue and Base1.vue exist in the container.
Feel free to adjust any details or add more information as needed. Would you like any further assistance with this?
Steps To Reproduce
Configure docker-compose.yml as shown below
Watch the running service with docker compose watch webapp3 or use docker compose up --watch webapp3.
Rename a file in a subdirectory on the host system.
Compose Version
Docker Compose version v2.29.2-desktop.2
Docker Environment
Client:
Version: 27.2.0
Context: desktop-linux
Debug Mode: false
Plugins:
buildx: Docker Buildx (Docker Inc.)
Version: v0.16.2-desktop.1
Path: C:\Program Files\Docker\cli-plugins\docker-buildx.exe
compose: Docker Compose (Docker Inc.)
Version: v2.29.2-desktop.2
Path: C:\Program Files\Docker\cli-plugins\docker-compose.exe
debug: Get a shell into any image or container (Docker Inc.)
Version: 0.0.34
Path: C:\Program Files\Docker\cli-plugins\docker-debug.exe
desktop: Docker Desktop commands (Alpha) (Docker Inc.)
Version: v0.0.15
Path: C:\Program Files\Docker\cli-plugins\docker-desktop.exe
dev: Docker Dev Environments (Docker Inc.)
Version: v0.1.2
Path: C:\Program Files\Docker\cli-plugins\docker-dev.exe
extension: Manages Docker extensions (Docker Inc.)
Version: v0.2.25
Path: C:\Program Files\Docker\cli-plugins\docker-extension.exe
feedback: Provide feedback, right in your terminal! (Docker Inc.)
Version: v1.0.5
Path: C:\Program Files\Docker\cli-plugins\docker-feedback.exe
init: Creates Docker-related starter files for your project (Docker Inc.)
Version: v1.3.0
Path: C:\Program Files\Docker\cli-plugins\docker-init.exe
sbom: View the packaged-based Software Bill Of Materials (SBOM) for an image (Anchore Inc.)
Version: 0.6.0
Path: C:\Program Files\Docker\cli-plugins\docker-sbom.exe
scout: Docker Scout (Docker Inc.)
Version: v1.13.0
Path: C:\Program Files\Docker\cli-plugins\docker-scout.exe
Server:
Containers: 24
Running: 24
Paused: 0
Stopped: 0
Images: 276
Server Version: 27.2.0
Storage Driver: overlay2
Backing Filesystem: extfs
Supports d_type: true
Using metacopy: false
Native Overlay Diff: true
userxattr: false
Logging Driver: json-file
Cgroup Driver: cgroupfs
Cgroup Version: 1
Plugins:
Volume: local
Network: bridge host ipvlan macvlan null overlay
Log: awslogs fluentd gcplogs gelf journald json-file local splunk syslog
Swarm: inactive
Runtimes: io.containerd.runc.v2 nvidia runc
Default Runtime: runc
Init Binary: docker-init
containerd version: 8fc6bcff51318944179630522a095cc9dbf9f353
runc version: v1.1.13-0-g58aa920
init version: de40ad0
Security Options:
seccomp
Profile: unconfined
Kernel Version: 5.15.153.1-microsoft-standard-WSL2
Operating System: Docker Desktop
OSType: linux
Architecture: x86_64
CPUs: 14
Total Memory: 31.08GiB
Name: docker-desktop
ID: 9c1b479d-00eb-4402-b299-0f780249f917
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=npipe://\\.\pipe\docker_cli
Experimental: false
Insecure Registries:
hubproxy.docker.internal:5555
127.0.0.0/8
Live Restore Enabled: false
WARNING: No blkio throttle.read_bps_device support
WARNING: No blkio throttle.write_bps_device support
WARNING: No blkio throttle.read_iops_device support
WARNING: No blkio throttle.write_iops_device support
WARNING: daemon is not using the default seccomp profile
Description
Description: When docker compose watch is configured as below, renaming a file or directory only works if it is located at the root level. However, it does not work when it is a subdirectory or file in this subdirectory.
The following happens when a file or directory which is not at root level is renamed on the host:
docker compose watch webapp3
or dodocker compose up --watch webapp3
.mv components/button/Base.vue components/button/Base1.vue
.Expected Result: The renamed file should be correctly reflected in the container, with only
Base1.vue
existing.Actual Result: Both
Base.vue
andBase1.vue
exist in the container.Feel free to adjust any details or add more information as needed. Would you like any further assistance with this?
Steps To Reproduce
docker-compose.yml
as shown belowdocker compose watch webapp3
or usedocker compose up --watch webapp3
.Compose Version
Docker Environment
Anything else?