Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,9 @@ integration tests) — runs inside the dev container.
[`ghcr.io/devcontainers/features/docker-in-docker`](https://github.com/devcontainers/features/tree/main/src/docker-in-docker)
feature via `dependsOn`, which installs the Docker engine, runs a daemon **inside** the
container, and adds the remote user to the `docker` group (no `sudo` needed).
- Pins `"moby": false` so the upstream feature installs Docker CE from Docker's own apt
repo instead of Microsoft's `moby-*` packages, which don't exist on Debian trixie
(the base of current `javascript-node` images) and fail the build.
- Uses Docker-**in**-Docker rather than docker-outside-of-docker on purpose: testcontainers
relies on bind mounts and container-to-container networking, both of which break under the
host-socket approach (path translation) and aren't available in every environment
Expand Down
6 changes: 4 additions & 2 deletions src/docker/devcontainer-feature.json
Original file line number Diff line number Diff line change
@@ -1,11 +1,13 @@
{
"id": "docker",
"version": "1.0.0",
"version": "1.0.1",
"name": "Docker (Docker-in-Docker, testcontainers-ready)",
"description": "Provides a self-contained Docker daemon inside the container via the official Docker-in-Docker feature. Picked over docker-outside-of-docker so testcontainers (bind mounts + container networking) works without depending on a host socket, which keeps it portable across Codespaces, CI, and local Docker/Podman/OrbStack hosts.",
"documentationURL": "https://github.com/rocicorp/devcontainer-features/tree/main/src/docker",
"dependsOn": {
"ghcr.io/devcontainers/features/docker-in-docker:2": {}
"ghcr.io/devcontainers/features/docker-in-docker:2": {
"moby": false
}
},
"installsAfter": ["ghcr.io/devcontainers/features/node"]
}