Podman: automatic `--userns=keep-id` breaks containers using host networking
まだ誰も着手していません。
評価
- 難易度
- 3/5
- 見積もり時間
- 1〜2日
- 初心者へのやさしさ
- 68/100
- issue の種類
- バグ
- 明瞭さ
- おおむね明確
- 活発さ
- 活発
- 技術スタック
- typescript
調査の方向性
src/spec-node/singleContainer.ts の getPodmanArgs() から始め、runArgs と --network=host が生成された Podman コマンドにどのように組み込まれるかを比較します。issue にある Alpine の reproducer を使って競合する引数を検証し、ユーザーが明示的に選択すれば、失敗する自動的な組み合わせを防げることを確認します。
索引モデルが issue の本文から書いたものです。
説明
I'm facing an issue when using podman and --network=host combination:
Environment
@devcontainers/cli: 0.88.0- Podman client/server: 5.7.1
- Host: WSL2
- Podman server: rootful
Problem
For Podman on Linux and a non-root remoteUser, Dev Containers automatically adds:
--security-opt label=disable --userns=keep-id
See https://github.com/devcontainers/cli/issues/1004 and https://github.com/microsoft/vscode-remote-release/issues/10399.
When the configuration also requires --network=host, the container fails to start.
Minimal underlying reproducer
This fails:
podman run --rm \
--network=host \
--userns=keep-id \
docker.io/library/alpine:3.20 \
true
Error:
crun: mount `sysfs` to `sys`: Operation not permitted: OCI permission denied
Without --userns=keep-id, it succeeds:
podman run --rm \
--network=host \
docker.io/library/alpine:3.20 \
true
The CLI-generated podman run command contains both:
--userns=keep-id --network=host
The automatic argument is added in:
src/spec-node/singleContainer.ts
getPodmanArgs()
Expected behavior
Users must be able to prevent the CLI from adding --userns=keep-id.
Possible fixes
No one is perfect I'm afraid.
- Do not add
--userns=keep-idwhen--network=hostis present. - Add a setting or CLI option to disable automatic Podman arguments.
- Respect an explicit
--userns=...inrunArgsand do not add--userns=keep-id. - Make automatic
--userns=keep-idopt-in instead of unconditional for non-root users.
Big thanks.
- 主要言語
- TypeScript
- スター
- 3k
- フォーク
- 461
- 平均マージ
- 18分
- マージ済み PR(30日)
- 5
コントリビューションガイド
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
devcontainers/cli のほかの issue
-
難易度 1/5 1時間未満 初心者へのやさしさ 92/100
devcontainers/cli#1203 ·
-
難易度 1/5 1〜3時間 初心者へのやさしさ 68/100
devcontainers/cli#1178 · コメント 1 件 ·
-
難易度 5/5 1週間以上 初心者へのやさしさ 25/100
devcontainers/cli#1308 ·
-
難易度 3/5 1〜2日 初心者へのやさしさ 78/100
devcontainers/cli#1307 ·
-
難易度 4/5 3〜5日 初心者へのやさしさ 55/100
devcontainers/cli#1305 ·
devcontainers/cli の issue をすべて見る
似ている issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 65/100
-
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
-
bug v2
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
modelcontextprotocol/inspector#2458 · コメント 1 件 ·
-
難易度 1/5 1時間未満 初心者へのやさしさ 75/100
railmapgen/rmp-gallery#4068 ·
-
Mend: dependency security vulnerability status: needs triage 🕵️♀️
難易度 2/5 1〜3時間 初心者へのやさしさ 70/100
carbon-design-system/ibm-products#9907 ·