Podman Rootless 模式下容器访问宿主机服务
发布于:2026/02/15
TL;DR: 使用如下命令:
podman run ... --network=pasta:--map-host-loopback=<loopback ip> ...
其中,loopback ip 是 host localhost 的指定 IP,可以为任意值。
目前,主包在 Windows 上的开发很多都是单开一个 container 去做,但难免有时也要进行图形程序开发。
在开发图形程序时,主包会在 host 上用 VcXsrv 开一个 X11 Server,并在 container 中指定 DISPLAY="<host ip>:0.0" 让图形程序透传到 Windows 中。
之前使用 Docker 时,这条路一直没什么太大问题。现在主包尝试使用 podman 后,发现 container 没法和宿主机服务建立连接了。调查了一下,是因为 podman 在 rootless 情况下,默认使用 Pasta network 方式做容器的网络连接。为了安全性,容器默认是无法访问 host localhost 的。
解决方法详见GitHub 上有关 Podman 容器向宿主机 localhost 的出连接的讨论。
本文内容采用协议:CC BY-SA 4.0