名称¶
podman-network - 管理 Podman 网络
概要¶
podman network 子命令
描述¶
network 命令管理 Podman 的网络。
Podman 支持两种网络后端 Netavark 和 CNI。Netavark 是默认的网络后端,并在 Podman 4.0 版本中添加。CNI 已弃用,将在下一个主要 Podman 版本 5.0 中删除,转而使用 Netavark。要配置网络后端,请在 **containers.conf(5)** 中的 [Network]
下使用 network_backend
键。新系统默认使用 netavark,要检查使用的是哪个后端,请运行 podman info --format {{.Host.NetworkBackend}}
。
所有网络命令都适用于两种后端,但 CNI 和 Netavark 使用不同的配置文件,因此在更改后端后,必须重新创建网络。
命令¶
命令 |
手册页 |
描述 |
---|---|---|
connect |
将容器连接到网络 |
|
create |
创建 Podman 网络 |
|
disconnect |
将容器从网络断开连接 |
|
exists |
检查给定的网络是否存在 |
|
inspect |
显示一个或多个网络的网络配置 |
|
ls |
显示网络摘要 |
|
prune |
删除所有未使用的网络 |
|
reload |
重新加载容器的网络配置 |
|
rm |
删除一个或多个网络 |
|
update |
更新现有的 Podman 网络 |
子网说明¶
Podman 需要特定的默认 IP,因此需要网络子网。Podman 使用的默认值可以在 **containers.conf(5)** 文件中修改。
Podman 网络¶
默认桥接网络(称为 podman
)使用 10.88.0.0/16 作为子网。当 Podman 以 root 身份运行时,podman
网络用作默认网络。它与添加选项 --network bridge
或 --network podman
相同。可以在 **containers.conf(5)** 中的 [network] 部分更改此子网。将 default_subnet
设置为环境中可用的任何子网。默认网络的名称也可以从 podman
更改为另一个名称,方法是使用默认网络键。请注意,这仅在没有容器正在运行时执行。
Pasta¶
Pasta 默认情况下不执行网络地址转换 (NAT),而是将来自主接口的 IP 复制到容器命名空间。如果 pasta 无法找到具有默认路由的接口,它将在只有一个具有有效路由的接口时选择该接口。如果您没有默认路由,并且多个接口定义了路由,pasta 将无法找出正确的接口,并且它将无法启动。要指定接口,请对 pasta 使用 -i
选项。可以在 **containers.conf(5)** 中的 [network]
部分使用 pasta_options
键设置一组默认的 pasta 选项。
可以在 **containers.conf(5)** 中的 [network]
部分使用 default_rootless_network_cmd
选择默认的无根网络工具,该工具可以设置为 pasta
(默认值)或 slirp4netns
。
Slirp4netns¶
Slirp4nents 使用 10.0.2.0/24 作为其默认网络。这也可以在 **containers.conf(5)** 中更改,但位于 [engine]
部分。使用 network_cmd_options
键并添加 ["cidr=X.X.X.X/24"]
作为值。请注意,slirp4netns 需要网络前缀大小在 1 到 25 之间。此选项接受数组,因此可以像在 **podman-network-create(1)** 手册页中所述的那样,以逗号分隔的字符串添加更多选项。要仅更改一个容器的 CIDR,请使用 --network
选项在 cli 上指定它,如下所示:--network slirp4netns:cidr=192.168.1.0/24
。
Podman 网络创建¶
当使用 podman network create
命令创建一个新网络,并且没有使用 --subnet 选项给出子网时,Podman 会开始从 10.89.0.0/24 到 10.255.255.0/24 中选择一个空闲子网。使用 **containers.conf(5)** 中的 [network]
部分下的 default_subnet_pools
选项来更改默认分配的范围和/或大小。