Skip to content

when using dockerComposeFile prebuilds are ignored #867

@sarj21

Description

@sarj21

We have the following devcontainers.json file at .devcontainers/flask/devcontainers.json:

{
	"name": "flask",
	"dockerComposeFile": [
		"../../docker-compose.app.yaml",
		"../docker-compose.app.dev.yaml"
	],
	"service": "flask",
	"workspaceFolder": "/home/jan",
	"features": {},
	"customizations": {
		"vscode": {
			"settings": {
				...
			},
			"extensions": [
				...
			]
		}
	}
}

Running devcontainer up --workspace-folder . --config .devcontainer/flask/devcontainer.json works fine, it builds the image and stands up the docker compose service.

I want to utilize prebuilding with our docker compose stack so I take the resulting built images and push them to our repository. If anyone pulls those images and runs devcontainer up --workspace-folder . --config .devcontainer/flask/devcontainer.json it rebuilds the entire image from scratch

If in the devcontainers.json I use the image field then it doesn't rebuild but there's no good way to use something like VS Code's > Reopen in Container since it doesn't know it part of the docker compose stack.

Does devcontainers support using prebuilt images with docker compose files? Is there somethings special I need to do to get it to recognize the image is fully built or to point directly at the cache?

To me it seems like it seems to be running docker compose build instead of docker compose up when running devcontainers up. If I run docker compose up myself and then attach VS Code it seems to work as intended.

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions