devcontainers / devcontainers/cli

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

未关闭
#726 5 条评论 0 个 reaction 已指派 1 人 已被 @chrmarti 认领 在 GitHub 查看
info-needed
主要语言
TypeScript
星标
3k
派生
457
平均合并
13 小时 17 分钟
30 天内合并 PR
6

描述

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?

贡献指南

打开贡献指南

评估

这个 Issue 还没有评估数据。

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。