名称¶
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
设置为环境中任何空闲的子网。默认网络的名称也可以通过 default network 键从 podman
更改为另一个名称。请注意,这仅在没有容器运行时才进行。
Pasta¶
Pasta 默认不执行网络地址转换 (NAT),并将主接口的 IP 复制到容器命名空间。如果 pasta 找不到具有默认路由的接口,则在只有一个具有有效路由的接口时会选择一个接口。如果您没有默认路由并且多个接口定义了路由,pasta 将无法确定正确的接口并会启动失败。要指定接口,请使用 -i
选项。可以在 containers.conf(5) 的 [network]
部分下,通过 pasta_options
键设置一组默认的 pasta 选项。
默认的无根网络工具可以在 containers.conf(5) 的 [network]
部分下通过 default_rootless_network_cmd
进行选择,它可以设置为 pasta
(默认)或 slirp4netns
。
Slirp4netns¶
Slirp4netns 使用 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
选项指定,如下所示:--network slirp4netns:cidr=192.168.1.0/24
。
Podman network create¶
当使用 podman network create
命令创建新网络,并且未通过 --subnet 选项给出子网时,Podman 开始从 10.89.0.0/24 到 10.255.255.0/24 中选择一个空闲子网。使用 containers.conf(5) 的 [network]
部分下的 default_subnet_pools
选项可以更改默认分配的范围和/或大小。