-
Notifications
You must be signed in to change notification settings - Fork 5.7k
Closed
Labels
Description
Description
when running docker compose up if a build dependency is already built it doesn't get loaded up into bake targets when trying to build
Steps To Reproduce
services:
firstbuild:
build:
dockerfile_inline: |
FROM alpine
additional_contexts:
dep1: service:dep1
entrypoint: ["echo", "Hello from firstbuild"]
depends_on:
- dep1
secondbuild:
build:
dockerfile_inline: |
FROM alpine
additional_contexts:
dep1: service:dep1
entrypoint: ["echo", "Hello from secondbuild"]
depends_on:
- dep1
dep1:
build:
dockerfile_inline: |
FROM alpine
entrypoint: ["echo", "Hello from dep1"]Run docker compose up firstbuild, it will build fine and then run docker compose secondbuild it will error out with failed to find target dep1
Compose Version
Docker Compose version v2.37.0-3-g8151b5928
Docker Environment
Client: Docker Engine - Community
Version: 28.2.2
Context: default
Debug Mode: false
Plugins:
buildx: Docker Buildx (Docker Inc.)
Version: v0.24.0
Path: /usr/libexec/docker/cli-plugins/docker-buildx
compose: Docker Compose (Docker Inc.)
Version: v2.37.0-3-g8151b5928
Path: /home/user/.docker/cli-plugins/docker-compose
Server:
Containers: 0
Running: 0
Paused: 0
Stopped: 0
Images: 34
Server Version: 28.2.2
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: systemd
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: 05044ec0a9a75232cad458027ca83437aae3f4da
runc version: v1.2.5-0-g59923ef
init version: de40ad0
Security Options:
apparmor
seccomp
Profile: builtin
cgroupns
Kernel Version: 6.8.0-60-generic
Operating System: Ubuntu 22.04.5 LTS
OSType: linux
Architecture: x86_64
CPUs: 8
Total Memory: 31.06GiB
ID: 2b2e89ad-9b8a-4a55-987b-9e9edf5b2b94
Docker Root Dir: /var/lib/docker
Debug Mode: false
Experimental: false
Insecure Registries:
::1/128
127.0.0.0/8
Live Restore Enabled: false
Anything else?
running with --verbose we get this:
docker compose --verbose up firstbuild
DEBU[0000] bake build config:
{
"group": {
"default": {
"targets": [
"dep1",
"firstbuild"
]
}
},
"target": {
"dep1": {
"context": "/home/israel/projects/compose-test",
"dockerfile-inline": "FROM alpine\n",
"tags": [
"compose-test-dep1"
],
"output": [
"type=docker,load=true,push=false"
]
},
"firstbuild": {
"context": "/home/israel/projects/compose-test",
"contexts": {
"dep1": "target:dep1"
},
"dockerfile-inline": "FROM alpine\n",
"tags": [
"compose-test-firstbuild"
],
"output": [
"type=docker,load=true,push=false"
]
}
}
}docker compose --verbose up secondbuild
DEBU[0000] bake build config:
{
"group": {
"default": {
"targets": [
"secondbuild"
]
}
},
"target": {
"secondbuild": {
"context": "/home/israel/projects/compose-test",
"contexts": {
"dep1": "target:dep1"
},
"dockerfile-inline": "FROM alpine\n",
"tags": [
"compose-test-secondbuild"
],
"output": [
"type=docker,load=true,push=false"
]
}
}
}The error doesn't happen when running docker compose up --build secondbuild or docker compose build secondbuild because both change the pull_policy to "build" for all services