devcontainers / devcontainers/cli
when using dockerComposeFile prebuilds are ignored
- Dominant language
- TypeScript
- Stars
- 3k
- Forks
- 457
- Avg merge
- 13h 17m
- Merged PRs (30d)
- 6
Description
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.
Contributor guide
Assessment
This issue has not been assessed yet.