首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何配置podman容器,让它也能与主机通信?

如何配置podman容器,让它也能与主机通信?
EN

Server Fault用户
提问于 2023-05-18 22:01:56
回答 2查看 127关注 0票数 0

能不能..。

  • 用podman运行一个容器
  • ,它在主机所在的子网上有一个IP。
  • 可以从子网上的每个其他主机访问。
  • 包括主人自己?

我在使用macvlan和ipvlan驱动程序时取得了部分成功--我能够运行一个容器,给它一个IP地址,然后网络上的每一个其他主机都可以访问这个IP。

但是,我不能访问或从运行容器的主机访问。

我甚至尝试使用从源代码构建的波德曼涅塔瓦克cni插件的最新版本,这使得ipvlan驱动程序具有相同的结果。

我更喜欢一个指针,而不是一个描述如何实现这一点的指南,尽管也欢迎对故障排除的建议。

EN

回答 2

Server Fault用户

回答已采纳

发布于 2023-05-30 04:54:20

要做到这一点,我只需在主机上添加一个额外的ipvlan接口,如果podman也使用ipvlan,则允许我在容器中进行对话。

  • 指定主机将从哪个网络访问此容器。例如,10.0.0.0/16
  • 分配在容器中使用的子网。如果它是我家庭网络的子网,那就更好了。例如,10.0.99.0/24。此子网应专门用于此主机上的容器。
  • 创建一个ipvlan podman网络与容器一起使用。它将是与主机网络相同的子网,但是IP分配应该从较小的子网中定义。例如:
代码语言:javascript
复制
sudo podman network create -d ipvlan --subnet 10.0.0.0/16 --ip-range 10.0.99.0/24 --ipam-driver host-local podnet
  • 创建一个主机IPVlan接口,并从容器网络为它分配一个IP地址。例如,10.0.99.1。这是主机可以用来与容器对话的接口。
  • 更新podman网络以跳过主机使用的IP地址:sudo vim /etc/cni/net.d/podnet.conflist,并将rangeStart从10.0.99.1更改为10.0.99.2

要用systemd创建ipvlan接口,我必须

  1. IPVLAN = podnet添加到文件的定义主机网络接口的[Network]部分,该部分将创建插入父节点的podnet网络接口。
  2. 为接口创建配置:
代码语言:javascript
复制
cat > /etc/systemd/network/podnet.netdev <<EOF
[NetDev]
Name = podnet
Kind = ipvlan
EOF
cat > /etc/systemd/network/podnet.network <<EOF
[Match]
Name = podnet
[Network]
IPForward = yes
Address = 10.0.99.1/24
EOF

平心而论,同样的方法也适用于macvlan而不是ipvlan,但是我的部分网络无法通过MACVlan接口到达主机,因此我切换到IPVlan以获得更好的互操作性。

我面临的另一个问题是podman默认使用netavark,而netavark IPVlan支持仅在podman 4.5+中可用,而我还在使用4.3。将网络后端切换到cni解决了这个问题。

代码语言:javascript
复制
cat > /etc/containers/containers.conf <<EOF
[network]
network_backend = "cni"
EOF
票数 1
EN

Server Fault用户

发布于 2023-05-20 19:52:52

不完全是您所要求的,但您可以非常简单地与主机共享相同的IP地址,请继续阅读,看看它是否对您有任何帮助:

您需要做的是向podman run添加--network=host --这实质上意味着您与主机共享相同的网络堆栈,因此您应该考虑以下几点:

  • 不能使用与主机相同的侦听端口。因此,例如,如果您以端口80的形式运行服务器,则主机无法这样做。
  • 容器可以访问主机上的本地(127.0.0.1)服务,反之亦然。基本上,这样你就不那么“被控制”了。这有利与弊,确保你知道你在做什么。
票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/1131478

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档