Skip to content

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

Open
@jonnylangefeld

Description

@jonnylangefeld

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. This doesn't work, the resulting container will still have "Init": true.
{
    "name": "life",
    "init": false,
    ...
}
  1. 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.
  2. 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:

init: imageMetadata.some(entry => entry.init),

But where could it possibly get a true from?

Metadata

Metadata

Assignees

Labels

info-neededIssue requires more information from poster

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions