devcontainers / devcontainers/cli

`runArgs` in Dev Containers image isn't shared to `.devcontainers.json` workspace

Open
#857 4 comments 0 reactions 0 assignees View on GitHub
feature-request
Dominant language
TypeScript
Stars
3k
Forks
457
Avg merge
13h 17m
Merged PRs (30d)
6

Description

Hi, I tried to use `runArgs` in Dev Containers custom image but this field isn't shared to `.devcontainers.json` workspace

- Logs :

1. when `runArgs` is set in Dev Containers custom image :

```sh
$ docker inspect f | grep PidMode
"PidMode": "", # pid isn't set to host
```

```sh
$ docker inspect f | grep NetworkMode
"NetworkMode": "bridge", # network isn't set to host
```

2. when `runArgs` is set in Dev Containers workspace that use the custom image :

```sh
$ docker inspect f | grep PidMode
"PidMode": "host", # pid is set to host

$ docker inspect f | grep NetworkMode
"NetworkMode": "host", # network is set to host
```

Steps to Reproduce :

1. when `runArgs` is set in Dev Containers custom image :

```json
// custom image configuration
{
"name": "Custom image",
"build": {
"dockerfile": "Dockerfile",
"args": {
"devcontainercli": "true"
}
},
"runArgs": [
"--network=host",
"--pid=host"
],
"capAdd": ["ALL"],
"securityOpt": ["seccomp=unconfined"],
"privileged": true,
[...]
}

// devcontainer.json workspace configuration
{
"name": "Dev Containers demo",
"image": "registry.example.com/example/custom-image:version",
[...]
}
```

2. when `runArgs` is set in Dev Containers workspace that use the custom image :

```json
// custom image configuration
{
"name": "Custom image",
"build": {
"dockerfile": "Dockerfile",
"args": {
"devcontainercli": "true"
}
},
"capAdd": ["ALL"],
"securityOpt": ["seccomp=unconfined"],
"privileged": true,
[...]
}

// devcontainer.json workspace configuration
{
"name": "Dev Containers demo",
"image": "registry.example.com/example/custom-image:version",
"runArgs": [
"--network=host",
"--pid=host"
],
[...]
}
```

Thank you !

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.