docker / compose

Define and run multi-container applications with Docker
https://docs.docker.com/compose/
Apache License 2.0
33.63k stars 5.19k forks source link

[BUG] develop->watch->action->sync doesn't work on mac m2 #12114

Open tamis-laan opened 1 week ago

tamis-laan commented 1 week ago

Description

I'm using the following in my project:

    develop:
      watch:
        - action: sync+restart
          path: ./cmd/interface
          target: /app/cmd/interface
        - action: sync+restart
          path: ./internal
          target: /app/internal
        - action: rebuild
          path: ./docker/interface
        - action: sync
          path: ./static
          target: /app/static
        - action: sync
          path: ./templates
          target: /app/templates

When changing a template a change triggers a sync and the new template is loaded properly in linux. However switching to a m2 mac it says:

Syncing "interface" after changes were detected
``
but the old template file is still there in the container so in practice nothing is copied over. If I do `sync+restart` the problem still persists. Only `rebuild` works properly. 

### Steps To Reproduce

_No response_

### Compose Version

```Text
2.29.2

Docker Environment

ο•“ docker info Client: Version: 27.2.0 Context: desktop-linux Debug Mode: false Plugins: buildx: Docker Buildx (Docker Inc.) Version: v0.16.2-desktop.1 Path: /Users/xxx/.docker/cli-plugins/docker-buildx compose: Docker Compose (Docker Inc.) Version: v2.29.2-desktop.2 Path: /Users/xxx/.docker/cli-plugins/docker-compose debug: Get a shell into any image or container (Docker Inc.) Version: 0.0.34 Path: /Users/xxx/.docker/cli-plugins/docker-debug desktop: Docker Desktop commands (Alpha) (Docker Inc.) Version: v0.0.15 Path: /Users/xxx/.docker/cli-plugins/docker-desktop dev: Docker Dev Environments (Docker Inc.) Version: v0.1.2 Path: /Users/xxx/.docker/cli-plugins/docker-dev extension: Manages Docker extensions (Docker Inc.) Version: v0.2.25 Path: /Users/xxx/.docker/cli-plugins/docker-extension feedback: Provide feedback, right in your terminal! (Docker Inc.) Version: v1.0.5 Path: /Users/xxx/.docker/cli-plugins/docker-feedback init: Creates Docker-related starter files for your project (Docker Inc.) Version: v1.3.0 Path: /Users/xxx/.docker/cli-plugins/docker-init sbom: View the packaged-based Software Bill Of Materials (SBOM) for an image (Anchore Inc.) Version: 0.6.0 Path: /Users/xxx/.docker/cli-plugins/docker-sbom scout: Docker Scout (Docker Inc.) Version: v1.13.0 Path: /Users/xxx/.docker/cli-plugins/docker-scout Server: Containers: 6 Running: 4 Paused: 0 Stopped: 2 Images: 28 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: 2 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 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 cgroupns Kernel Version: 6.10.4-linuxkit Operating System: Docker Desktop OSType: linux Architecture: aarch64 CPUs: 12 Total Memory: 7.655GiB Name: docker-desktop ID: 9461d8ee-5ad6-43ac-abd8-69fb1d0c07c8 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/xxx/Library/Containers/com.docker.docker/Data/docker-cli.sock Experimental: false Insecure Registries: hubproxy.docker.internal:5555 127.0.0.0/8 Live Restore Enabled: false WARNING: daemon is not using the default seccomp profile

Anything else?

No response

davidjonesdialexa commented 1 day ago

πŸ‘ seeing this as well, was working on an intel machine prior to recent docker updates.

intel macbook pro

command line reports files are syncing, however the files in the container are not updated

update: I got this to work by using docker compose up --watch, but it is extremely slow on my machine, probably because I'm still on an intel MBA πŸ˜‚