Files
podman/docs/source/markdown/podman-network-create.1.md
Paul Holzinger 85e8fbf7f3 Wire network interface into libpod
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>
2021-09-15 20:00:20 +02:00

3.4 KiB

% 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-network(1), podman-network-inspect(1), podman-network-ls(1)

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