podman 的解决方案与您提供链接的答案中描述的解决方案相同:容器内可见的默认路由可用于连接到主机服务(假设它们正在侦听所有地址或显式绑定到 podman 桥) )。
例如,如果我的主机上有一个在端口 8080 上运行的网络服务器...
darkhttpd . --port 8080
Run Code Online (Sandbox Code Playgroud)
我可以启动一个容器:
$ sudo podman run -it --rm alpine sh
Run Code Online (Sandbox Code Playgroud)
如果我获得默认网关的地址,则在该容器内:
/ # ip route
default via 10.88.0.1 dev eth0
10.88.0.0/16 dev eth0 scope link src 10.88.0.42
Run Code Online (Sandbox Code Playgroud)
我可以连接到该地址上的网络服务器:
/ # wget -O- http://10.88.0.1:8080/hello.txt
Connecting to 10.88.0.1:8080 (10.88.0.1:8080)
Hello world
- 100% |***************************************| 12 0:00:00 ETA
Run Code Online (Sandbox Code Playgroud)
唯一需要注意的是,对于 Docker 来说也是如此,您的主机防火墙必须配置为不会阻止来自容器的入站连接。
归档时间: |
|
查看次数: |
3037 次 |
最近记录: |