名称

podman-network - 管理 Podman 网络

简介

podman network 子命令

描述

network 命令管理 Podman 的网络。

Podman 支持两种网络后端:NetavarkCNI。Netavark 是默认的网络后端,在 Podman 4.0 版本中添加。CNI 已弃用,并将在下一个主要 Podman 版本 5.0 中移除,以优先使用 Netavark。要配置网络后端,请在 containers.conf(5)[Network] 部分下使用 network_backend 键。新系统默认使用 netavark,要检查正在使用的后端,请运行 podman info --format {{.Host.NetworkBackend}}

所有网络命令都适用于两种后端,但 CNI 和 Netavark 使用不同的配置文件,因此在后端更改后必须重新创建网络。

命令

命令

手册页

描述

connect

podman-network-connect(1)

将容器连接到网络

create

podman-network-create(1)

创建 Podman 网络

disconnect

podman-network-disconnect(1)

将容器从网络断开

exists

podman-network-exists(1)

检查给定网络是否存在

inspect

podman-network-inspect(1)

显示一个或多个网络的网络配置

ls

podman-network-ls(1)

显示网络摘要

prune

podman-network-prune(1)

删除所有未使用的网络

reload

podman-network-reload(1)

重新加载容器的网络配置

rm

podman-network-rm(1)

删除一个或多个网络

update

podman-network-update(1)

更新现有的 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 选项可以更改默认分配的范围和/或大小。

另请参阅

podman(1), podman-network-create(1), containers.conf(5)