[BUG] docker-compose up starts pulling even though images are local #12455
Description
Description
I think this was caused by a recent Docker Desktop update. I'm on MacOS Sonoma 14.7.2 and recently upgraded from Docker Desktop 4.37.2 (I think from 4.36.0)
When I run docker-compose up -d
I suddenly see "Pulling ..." even though the images I am trying to use are all local. (If I let it run, it eventually fails, telling me I would need to docker login
to get access to these images if they are available at all ... which of course they are not.)
As a crude workaround, if i Ctrl-C and run the command again, it seems to work as expected.
This started happening only recently; before, it would simply launch the local images without attempting to pull from anywhere.
I am unable to repro right now, but it has been happening often in the last few days. I think this started last week (Thursday? Friday?) and I think I updated Docker on Friday.
Steps To Reproduce
As indicated above, my environment is MacOS Sonoma, Docker Desktop for Mac 4.37.2, Bash 5.2.37(1)-release from Homebrew.
I have a simple Dockerfile
and a docker-compose.yaml
which runs the resulting image with some similarly simple local services, also from local images. I create the images with docker build -t whatever .
from a simple Makefile.
When I run docker-compose up -d
the result is sometimes that I see the images with Pulling...
next to each. I expected Compose to simply load up the local images without attempting to pull from anywhere, as indeed it seems it does again if I cancel the attempt with Ctrl-C and try again.
(When I cancel, I simply see "context canceled" on each of the output lines from Docker Compose. It's rather annoying that it overwrites the earlier status message, so I can only recollect from memory what exactly it says.)
$ docker-compose up -d
✘ service1 Error context canceled 24.6s
✘ service2 Error context canceled 24.6s
✘ service3 Error context canceled 24.6s
✘ main Error context canceled 24.6s
canceled
Error response from daemon: No such container: service2
Compose Version
Docker Compose version v2.31.0-desktop.2
Docker Environment
Client:
Version: 27.4.0
Context: desktop-linux
Debug Mode: false
Plugins:
ai: Ask Gordon - Docker Agent (Docker Inc.)
Version: v0.5.1
Path: /Users/myself/.docker/cli-plugins/docker-ai
buildx: Docker Buildx (Docker Inc.)
Version: v0.19.2-desktop.1
Path: /Users/myself/.docker/cli-plugins/docker-buildx
compose: Docker Compose (Docker Inc.)
Version: v2.31.0-desktop.2
Path: /Users/myself/.docker/cli-plugins/docker-compose
debug: Get a shell into any image or container (Docker Inc.)
Version: 0.0.37
Path: /Users/myself/.docker/cli-plugins/docker-debug
desktop: Docker Desktop commands (Beta) (Docker Inc.)
Version: v0.1.0
Path: /Users/myself/.docker/cli-plugins/docker-desktop
dev: Docker Dev Environments (Docker Inc.)
Version: v0.1.2
Path: /Users/myself/.docker/cli-plugins/docker-dev
extension: Manages Docker extensions (Docker Inc.)
Version: v0.2.27
Path: /Users/myself/.docker/cli-plugins/docker-extension
feedback: Provide feedback, right in your terminal! (Docker Inc.)
Version: v1.0.5
Path: /Users/myself/.docker/cli-plugins/docker-feedback
init: Creates Docker-related starter files for your project (Docker Inc.)
Version: v1.4.0
Path: /Users/myself/.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/myself/.docker/cli-plugins/docker-sbom
scout: Docker Scout (Docker Inc.)
Version: v1.15.1
Path: /Users/myself/.docker/cli-plugins/docker-scout
Server:
Containers: 0
Running: 0
Paused: 0
Stopped: 0
Images: 71
Server Version: 27.4.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
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: 472731909fa34bd7bc9c087e4c27943f9835f111
runc version: v1.1.13-0-g58aa920
init version: de40ad0
Security Options:
seccomp
Profile: unconfined
cgroupns
Kernel Version: 6.10.14-linuxkit
Operating System: Docker Desktop
OSType: linux
Architecture: aarch64
CPUs: 12
Total Memory: 19.5GiB
Name: docker-desktop
ID: c10b5140-66fc-4aea-9f0d-57f34a5a046c
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/myself/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