devcontainers / devcontainers/cli

devcontainer always started with `"Init": true` no matter the settings

Offen
#726 5 Kommentare 0 Reaktionen 1 zugewiesene Person Beansprucht von @chrmarti Auf GitHub ansehen
info-needed
Vorherrschende Sprache
TypeScript
Sterne
3k
Forks
457
Ø Merge
13 Std. 17 Min.
Gemergte PRs (30 T.)
6

Beschreibung

I'm trying to set `init` to `false` for a devcontainer where I need to control PID 1.

However, no matter how I set init to false, the resulting dev container has init always set to true:
```
╰─ docker inspect life_life_1 | grep Init
"Init": true
```

This also shows in the logs:
```
[2024-01-19T17:33:17.093Z] Docker Compose override file for creating container:
version: "3.8"

services:
'life':
entrypoint: ["/bin/sh", "-c", "echo Container started\n
trap \"exit 0\" 15\n
\n
exec \"$$@\"\n
while sleep 1 & wait $$!; do :; done", "-"]
command: ["/sbin/init"]
init: true
privileged: true
cap_add:
- SYS_PTRACE
- SYS_ADMIN
security_opt:
- seccomp=unconfined
labels:
- 'devcontainer.local_folder=/home/workspaces/ife'
- 'devcontainer.config_file=/home/workspaces/life/.devcontainer/devcontainer.json'
volumes:
- vscode:/vscode
volumes:

vscode:
external: true
```

Here is what I've tried:

1. Setting it in `devcontainer.json`.
This seems to be the most obvious one. Although the [default should actually be `false`](https://containers.dev/implementors/json_reference). This doesn't work, the resulting container will still have `"Init": true`.
```json
{
"name": "life",
"init": false,
...
}
```
2. Setting it in `docker-compose.yml`.
Of course I also set it in my docker-compose.yml, but that just got overridden by devcontainer cli.
3. Setting it in `Dockerfile`.
I've also set it via
```
LABEL devcontainer.metadata='[{ \
"init": false \
}]'
```
as described in the docs, but still in the resulting container it's true.

I've set all these at once to false and still the resulting container has it set to true.

The line of code in question is this one:
https://github.com/devcontainers/cli/blob/47354089b2eacf89b713dde767ca5536c2d6fa60/src/spec-node/imageMetadata.ts#L172
But where could it possibly get a `true` from?

Beitragsleitfaden

Beitragsleitfaden öffnen

Bewertung

Dieses Issue wurde noch nicht bewertet.

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.