NAME¶
Podman-网络-创建-创建Podman网络
SYNOPSIS¶
podman network create [options] [name]
DESCRIPTION¶
创建用于Podman的网络配置。默认情况下,Podman创建网桥连接。一个 Macvlan 连接可以使用 -d macvlan 选择。用于macvlan或ipvlan的父设备可以用 -o parent=<device>
或 --network-interface=<device>
选择。
如果没有提供任何选项,Podman会为网络分配一个空闲子网和名称。
创建网络完成后,Podman会显示新添加的网络的名称。
OPTIONS¶
--disable-dns¶
禁用此网络的DNS插件,如果启用该插件,则可以执行容器到容器的名称解析。它仅受 bridge
驱动程序,对于其他驱动程序,它总是被禁用。
--dns = ip¶
为此网络中的容器设置网络作用域的DNS解析器/名称服务器。如果未设置,则来自 /etc/resolv.conf
使用的是。可以在容器级别上使用 podman run/create --dns
选择。可以多次指定此选项以设置多个IP。
--driver , -d = driver¶
用于管理网络的驱动程序。目前 bridge
, macvlan
和 ipvlan
是受支持的。默认为 bridge
。作为无根的 macvlan
和 ipvlan
驱动程序无法访问主机网络接口,因为无根网络需要单独的网络命名空间。
Netavark后端允许使用所谓的 netavark plugins ,请参阅 [plugin-API.md] Netavark中的(https://github.com/containers/netavark/blob/main/plugin-API.md)文档。二进制文件必须放在指定的目录中,这样Podman才能发现它,该列表设置在 netavark_plugin_dirs
在……里面 containers.conf(5) 在 [network]
一节。
然后可以使用插件的名称作为驱动程序,为您的插件创建网络。所有受支持的驱动程序和插件的列表可以通过 podman info --format {{.Plugins.Network}}
。
请注意, macvlan
和 ipvlan
驱动程序不支持端口转发。是否支持使用插件进行端口转发取决于插件的实现。
--gateway = ip¶
定义该子网的网关。若要提供网关地址,请使用 subnet 选项为必填项。可以多次指定。参数的参数顺序 --subnet , --gateway 和 --ip-range 选项必须匹配。
--ignore¶
如果具有相同名称的网络已存在,则忽略创建请求,而不是失败。请注意,尝试使用现有名称和不同参数创建网络不会更改现有网络的配置。
--interface-name = name¶
此选项将映射 network_interface 选项,请参见 podman network inspect 。根据驱动程序的不同,这可能会产生不同的影响; bridge
,它使用网桥接口名称。为 macvlan
和 ipvlan
,它是主机上的父设备。与之相同 --opt parent=...
。
--internal¶
使用时限制此网络的外部访问 bridge
网络。注意:使用CNI后端时,将自动禁用DNS,请参阅 --disable-dns 。
在使用 macvlan
或 ipvlan
使用此选项的司机不会将默认路线添加到集装箱。因为它绕过了主机网络堆栈,所以PODMAN不能设置额外的限制,如果特权容器正在运行,它可以自己设置默认路由。如果这是一个问题,那么应该在您的实际网络网关上阻止容器连接。
--ip-range = range¶
分配一定范围内的容器IP。该范围必须是CIDR表示法中的完整子网或位于 <startIP>-<endIP>
与CIDR子网相比,允许更灵活的范围的语法。这个 ip-range 选项必须与 subnet 选择。可以多次指定。参数的参数顺序 --subnet , --gateway 和 --ip-range 选项必须匹配。
--ipam-driver = 司机¶
设置网络的IPAM驱动程序(IP地址管理驱动程序)。取消设置时,Podman会根据网络驱动程序自动选择IPAM驱动程序。
有效值包括:
dhcp
:IP地址是从网络上的动态主机配置协议服务器分配的。在使用netavark后端时netavark-dhcp-proxy.socket
必须启用才能在启动容器时启动dhcp代理,对于CNI,请使用cni-dhcp.socket
单位取而代之。host-local
:IP地址在本地分配。none
:没有为接口分配IP地址。
在中查看驱动程序 podman network inspect 下的输出 ipam_options
菲尔德。
--ipv6¶
启用IPv6(双协议栈)网络。如果没有给出子网,它会分配一个IPv4和一个IPv6子网。
--label = 标签¶
设置网络的元数据(例如,--Label MyKey=Value)。
--opt , -o = option¶
设置驱动程序特定选项。
所有司机都接受 mtu
, metric
, no_default_route
和选项。
mtu
:设置最大传输单位(MTU)并取整数值。metric
设置在加入此网络的每个容器中创建的默认路由的路由度量。接受正整数值。只能与Netavark网络后端一起使用。no_default_route
:如果设置为1,Podman将不会自动添加到子网的默认路由。仍可通过使用创建自定义路径来手动添加路径--route
。
此外, bridge
驱动程序支持以下选项:
vlan
:此选项分配vlan标记并启用vlan_过滤。默认为无。isolate
:此选项通过阻止启用此选项的网络之间的通信来隔离网络。com.docker.network.bridge.name
:此选项将给定的名称分配给创建的Linux Bridgecom.docker.network.driver.mtu
:设置最大传输单位(MTU)并取整数值。vrf
:此选项将VRF分配给网桥接口。它接受VRF的名称并默认为None。只能与Netavark网络后端一起使用。
这个 macvlan
和 ipvlan
驱动程序支持以下选项:
parent
:用于Macvlan接口的主机设备。默认为默认路由接口。mode
:此选项在接口上设置指定的IP/macvlan模式。支持的值
macvlan
是bridge
,private
,vepa
,passthru
。默认为bridge
。支持的值
ipvlan
是l2
,l3
,l3s
。默认为l2
。
此外, macvlan
驱动程序支持 bclim
选项:
bclim
:设置广播排队阈值。必须是32位整数。将此值设置为-1
完全禁用广播队列。
--route = route¶
格式为的静态路由 <destination in CIDR notation>,<gateway>,<route metric (optional)>
。此路由将添加到此网络中的每个容器。仅适用于netavark后端。如果需要多条静态路由,则可以多次指定。
--subnet = subnet¶
CIDR表示法中的子网。可以多次指定,以便为此网络分配多个子网。参数的参数顺序 --subnet , --gateway 和 --ip-range 选项必须匹配。这对于设置静态IPv4和IPv6子网非常有用。
EXAMPLE¶
创建不带选项的网络。
$ podman network create
podman2
创建名为的网络 新闻网 它使用 192.5.0.0/16 用于其子网。
$ podman network create --subnet 192.5.0.0/16 newnet
newnet
创建名为的IPv6网络 Newnetv6 其子网为 2001:db8::/64 。
$ podman network create --subnet 2001:db8::/64 --ipv6 newnetv6
newnetv6
创建名为的网络 新闻网 它使用 192.168.33.0/24 并将网关定义为 192.168.133.3 。
$ podman network create --subnet 192.168.33.0/24 --gateway 192.168.33.3 newnet
newnet
创建使用 192.168.55.0/24 子网,其IP地址范围为 192.168.55.129 - 192.168.55.254 。
$ podman network create --subnet 192.168.55.0/24 --ip-range 192.168.55.128/25
podman5
创建具有静态IPv4和IPv6子网的网络并设置网关。
$ podman network create --subnet 192.168.55.0/24 --gateway 192.168.55.3 --subnet fd52:2a5a:747e:3acd::/64 --gateway fd52:2a5a:747e:3acd::10
podman4
创建具有静态子网和静态路由的网络。
$ podman network create --subnet 192.168.33.0/24 --route 10.1.0.0/24,192.168.33.10 newnet
创建一个具有静态子网的网络和一条不带默认路由的静态路由。
$ podman network create --subnet 192.168.33.0/24 --route 10.1.0.0/24,192.168.33.10 --opt no_default_route=1 newnet
使用主机接口eth0创建基于Macvlan的网络。Macvlan网络只能用作根。
$ sudo podman network create -d macvlan -o parent=eth0 --subnet 192.5.0.0/16 newnet
newnet
另请参阅¶
podman(1) , podman-network(1) , podman-network-inspect(1) , podman-network-ls(1) , containers.conf(5)
HISTORY¶
2021年8月,由Paul Holzingerpholing@redhat.com用新的网络格式更新
2019年8月,最初由Brent Baudebbaude@redhat.com汇编