What it doesBasics
- Host user and group mapping
- Home-directory mount ownership preparation
- Mode-aware privilege handling
- Devcontainer build and run phases
- Systemd, secure-runtime, and Docker capability coordination
First useBasics
- Use a prepared image and verify the running user and access to one project file.
- Runtime intent is resolved from the feature configuration.
- Identity and mounts are reconciled before the developer command runs.
Everyday tasksEveryday use
Initialize a secure development container
A workspace needs system services and an isolated inner Docker daemon without exposing the host Docker socket.
- Configure the devcontainer feature with the secure runtime and required service capabilities.
- Let the launcher resolve host-specific mounts, groups, and devices before container creation.
- Allow AIDC Init to reconcile identity and mount ownership, then start the selected init system and services.
- Enter the workspace as the intended user and verify Docker and process state inside the boundary.
What you getThe developer receives a usable non-root workspace with the requested in-container service posture.
How to check: Identity and ownership checks match the requested IDs; process state shows the selected init path; Docker reports the inner daemon rather than an unmediated host socket.
Use the image as a plain container entry point
An image consumer needs predictable user and mount preparation without the complete devcontainer lifecycle.
- Pass explicit identity and phase configuration to the container.
- Mount only the paths the workload needs and provide a concrete final command.
- Let AIDC Init prepare identity and eligible home-directory entries without enabling unrelated runtime services.
- Verify the command runs as the intended user and exits with its own status.
What you getThe container starts its requested workload after consistent identity preparation, without assuming a full interactive workspace.
How to check: The final process user and group, mounted-path ownership, environment, and exit status match the declared container contract.
Settings to decideAdvanced
- Declare container identity
- Choose the intended user and group IDs deliberately so created files remain usable across the workspace boundary. Resolve collisions in the image rather than accepting ambiguous ownership.
- Select secured, systemd, and Docker capabilities together
- Treat these options as a coordinated runtime posture. Enable only supported combinations and use an inner daemon when the secure workspace needs Docker workloads.
- Choose build or runtime initialization
- Keep image-build preparation distinct from container-run reconciliation. Runtime-only host identity and mounts should not be baked into a reusable image layer.
- Keep host resources launcher-owned
- Declare capability intent in the feature configuration and let the host launcher supply applicable devices, groups, mounts, and environment rather than hard-coding one host’s values.
CommandsAdvanced
Problems and fixesHelp
Good to knowHelp
- It configures container startup inside the outer boundary that the launcher and selected runtime enforce.
- Ordinary entrypoint modes drop privilege before the user command runs; in systemd mode, systemd runs as PID 1.
- Mount preparation sets ownership on eligible root-owned directory entries beneath the configured home.