mirror of
https://github.com/containers/podman.git
synced 2025-09-28 01:04:28 +08:00

Make use of the new network interface in libpod. This commit contains several breaking changes: - podman network create only outputs the new network name and not file path. - podman network ls shows the network driver instead of the cni version and plugins. - podman network inspect outputs the new network struct and not the cni conflist. - The bindings and libpod api endpoints have been changed to use the new network structure. The container network status is stored in a new field in the state. The status should be received with the new `c.getNetworkStatus`. This will migrate the old status to the new format. Therefore old containers should contine to work correctly in all cases even when network connect/ disconnect is used. New features: - podman network reload keeps the ip and mac for more than one network. - podman container restore keeps the ip and mac for more than one network. - The network create compat endpoint can now use more than one ipam config. The man pages and the swagger doc are updated to reflect the latest changes. Signed-off-by: Paul Holzinger <pholzing@redhat.com>
111 lines
3.4 KiB
Markdown
111 lines
3.4 KiB
Markdown
% podman-network-create(1)
|
|
|
|
## NAME
|
|
podman\-network-create - Create a Podman CNI network
|
|
|
|
## SYNOPSIS
|
|
**podman network create** [*options*] name
|
|
|
|
## DESCRIPTION
|
|
Create a CNI-network configuration for use with Podman. By default, Podman creates a bridge connection.
|
|
A *Macvlan* connection can be created with the *-d macvlan* option. A parent device for macvlan can
|
|
be designated with the *-o parent=`<device>`* option. In the case of *Macvlan* connections, the
|
|
CNI *dhcp* plugin needs to be activated or the container image must have a DHCP client to interact
|
|
with the host network's DHCP server.
|
|
|
|
If no options are provided, Podman will assign a free subnet and name for your network.
|
|
|
|
Upon completion of creating the network, Podman will display the name of the newly added network.
|
|
|
|
## OPTIONS
|
|
#### **--disable-dns**
|
|
|
|
Disables the DNS plugin for this network which if enabled, can perform container to container name
|
|
resolution.
|
|
|
|
#### **--driver**, **-d**
|
|
|
|
Driver to manage the network. Currently `bridge` and `macvlan` is supported. Defaults to `bridge`.
|
|
As rootless the `macvlan` driver has no access to the host network interfaces because rootless networking requires a separate network namespace.
|
|
|
|
#### **--opt**=*option*, **-o**
|
|
|
|
Set driver specific options.
|
|
|
|
For the `bridge` driver the following options are supported: `mtu` and `vlan`.
|
|
The `mtu` option sets the Maximum Transmission Unit (MTU) and takes an integer value.
|
|
The `vlan` option assign VLAN tag and enables vlan\_filtering. Defaults to none.
|
|
|
|
#### **--gateway**
|
|
|
|
Define a gateway for the subnet. If you want to provide a gateway address, you must also provide a
|
|
*subnet* option.
|
|
|
|
#### **--internal**
|
|
|
|
Restrict external access of this network. Note when using this option, the dnsname plugin will be
|
|
automatically disabled.
|
|
|
|
#### **--ip-range**
|
|
|
|
Allocate container IP from a range. The range must be a complete subnet and in CIDR notation. The *ip-range* option
|
|
must be used with a *subnet* option.
|
|
|
|
#### **--label**
|
|
|
|
Set metadata for a network (e.g., --label mykey=value).
|
|
|
|
#### **--subnet**
|
|
|
|
The subnet in CIDR notation.
|
|
|
|
#### **--ipv6**
|
|
|
|
Enable IPv6 (Dual Stack) networking.
|
|
|
|
## EXAMPLE
|
|
|
|
Create a network with no options.
|
|
```
|
|
$ podman network create
|
|
cni-podman2
|
|
```
|
|
|
|
Create a network named *newnet* that uses *192.5.0.0/16* for its subnet.
|
|
```
|
|
$ podman network create --subnet 192.5.0.0/16 newnet
|
|
newnet
|
|
```
|
|
|
|
Create an IPv6 network named *newnetv6* with a subnet of *2001:db8::/64*.
|
|
```
|
|
$ podman network create --subnet 2001:db8::/64 --ipv6 newnetv6
|
|
newnetv6
|
|
```
|
|
|
|
Create a network named *newnet* that uses *192.168.33.0/24* and defines a gateway as *192.168.133.3*.
|
|
```
|
|
$ podman network create --subnet 192.168.33.0/24 --gateway 192.168.33.3 newnet
|
|
newnet
|
|
```
|
|
|
|
Create a network that uses a *192.168.55.0/24** subnet and has an IP address range of *192.168.55.129 - 192.168.55.254*.
|
|
```
|
|
$ podman network create --subnet 192.168.55.0/24 --ip-range 192.168.55.128/25
|
|
cni-podman5
|
|
```
|
|
|
|
Create a Macvlan based network using the host interface eth0. Macvlan networks can only be used as root.
|
|
```
|
|
# podman network create -d macvlan -o parent=eth0 newnet
|
|
newnet
|
|
```
|
|
|
|
## SEE ALSO
|
|
**[podman(1)](podman.1.md)**, **[podman-network(1)](podman-network.1.md)**, **[podman-network-inspect(1)](podman-network-inspect.1.md)**, **[podman-network-ls(1)](podman-network-ls.1.md)**
|
|
|
|
## HISTORY
|
|
August 2021, Updated with the new network format by Paul Holzinger <pholzing@redhat.com>
|
|
|
|
August 2019, Originally compiled by Brent Baude <bbaude@redhat.com>
|