Closed
Description
Description
When running docker compose up -d
test
service will be started without waiting for db
to be healthy. However, if I remove the section volumes_from
, the depends_on
works as expected.
Steps to reproduce the issue:
In docker-compose.yml:
version: "3.9"
services:
db:
image: redis
healthcheck:
test: "exit 0"
test:
image: nginx
volumes_from:
- db
depends_on:
db:
condition: service_healthy
run: docker compose up -d
Describe the results you received:
❯ docker compose down --remove-orphans && docker compose up -d && docker compose ps ─╯
[+] Running 3/3
⠿ Network in-buildsupport_default Created 0.0s
⠿ Container in-buildsupport-db-1 Started 0.3s
⠿ Container in-buildsupport-test-1 Started 0.5s
NAME COMMAND SERVICE STATUS PORTS
in-buildsupport-db-1 "docker-entrypoint.s…" db running (starting) 6379/tcp
in-buildsupport-test-1 "/docker-entrypoint.…" test running 80/tcp
As shown in the logs: test
is already running while db
is still starting.
Describe the results you expected:
test
service should wait for db
to be healthy before starting.
Should look like this:
❯ docker compose down --remove-orphans && docker compose up -d && docker compose ps ─╯
[+] Running 2/3
⠿ Network in-buildsupport_default Created 0.0s
⠿ Container in-buildsupport-db-1 Waiting 4.8s
⠿ Container in-buildsupport-test-1 Created 0.0s
Output of docker compose version
:
❯ docker compose version
Docker Compose version v2.10.2
Output of docker info
:
❯ docker info
Client:
Context: default
Debug Mode: false
Plugins:
buildx: Docker Buildx (Docker Inc., v0.9.1)
compose: Docker Compose (Docker Inc., v2.10.2)
extension: Manages Docker extensions (Docker Inc., v0.2.9)
sbom: View the packaged-based Software Bill Of Materials (SBOM) for an image (Anchore Inc., 0.6.0)
scan: Docker Scan (Docker Inc., v0.19.0)
Server:
Containers: 2
Running: 0
Paused: 0
Stopped: 2
Images: 14
Server Version: 20.10.17
Storage Driver: overlay2
Backing Filesystem: extfs
Supports d_type: true
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 logentries splunk syslog
Swarm: inactive
Runtimes: io.containerd.runc.v2 io.containerd.runtime.v1.linux runc
Default Runtime: runc
Init Binary: docker-init
containerd version: 9cd3357b7fd7218e4aec3eae239db1f68a5a6ec6
runc version: v1.1.4-0-g5fd4c4d
init version: de40ad0
Security Options:
seccomp
Profile: default
cgroupns
Kernel Version: 5.10.124-linuxkit
Operating System: Docker Desktop
OSType: linux
Architecture: aarch64
CPUs: 4
Total Memory: 7.765GiB
Name: docker-desktop
ID: T2HG:TINU:ZJCW:QRAX:YMYW:7HDQ:DIQ4:4LG6:NJC3:DFCQ:AVNX:LCUK
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
Registry: https://index.docker.io/v1/
Labels:
Experimental: false
Insecure Registries:
hubproxy.docker.internal:5000
127.0.0.0/8
Live Restore Enabled: false