mirror of
https://github.com/containers/podman.git
synced 2026-10-24 02:39:13 -04:00
Revert "Deduplicate more options."
This reverts commit 6756eb3412.
Signed-off-by: Paul Holzinger <pholzing@redhat.com>
This commit is contained in:
38 files changed
+545
-523
No files matched your search
@@ -34,7 +34,6 @@ podman-manifest-create.1.md
|
||||
podman-manifest-inspect.1.md
|
||||
podman-manifest-push.1.md
|
||||
podman-mount.1.md
|
||||
podman-network-create.1.md
|
||||
podman-network-ls.1.md
|
||||
podman-network-reload.1.md
|
||||
podman-pause.1.md
|
||||
@@ -74,7 +73,6 @@ podman-build.unit.5.md
|
||||
podman-container.unit.5.md
|
||||
podman-image.unit.5.md
|
||||
podman-kube.unit.5.md
|
||||
podman-kube-down.1.md
|
||||
podman-network.unit.5.md
|
||||
podman-pod.unit.5.md
|
||||
podman-volume.unit.5.md
|
||||
@@ -1,13 +0,0 @@
|
||||
####> This option file is used in:
|
||||
####> podman podman-image.unit.5.md.in, pull
|
||||
####> If file is edited, make sure the changes
|
||||
####> are applicable to all of those.
|
||||
<< if is_quadlet >>
|
||||
### `AllTags=true`
|
||||
<< else >>
|
||||
#### **--all-tags**, **-a**
|
||||
<< endif >>
|
||||
|
||||
All tagged images in the repository are pulled.
|
||||
|
||||
*IMPORTANT: When using the all-tags flag, Podman does not iterate over the search registries in the **[containers-registries.conf(5)](https://github.com/containers/image/blob/main/docs/containers-registries.conf.5.md)** but always uses docker.io for unqualified image names.*
|
||||
@@ -1,9 +1,9 @@
|
||||
####> This option file is used in:
|
||||
####> podman build, podman-build.unit.5.md.in, farm build
|
||||
####> podman build, farm build
|
||||
####> If file is edited, make sure the changes
|
||||
####> are applicable to all of those.
|
||||
<< if is_quadlet >>
|
||||
### `Annotation=annotation=value [annotation=value ...]`
|
||||
### `Annotation=annotation=value`
|
||||
<< else >>
|
||||
#### **--annotation**=*annotation=value*
|
||||
<< endif >>
|
||||
|
||||
@@ -1,11 +0,0 @@
|
||||
####> This option file is used in:
|
||||
####> podman podman-container.unit.5.md.in
|
||||
####> If file is edited, make sure the changes
|
||||
####> are applicable to all of those.
|
||||
### `AutoUpdate=registry`
|
||||
|
||||
Indicates whether the container will be auto-updated ([podman-auto-update(1)](podman-auto-update.1.md)). The following values are supported:
|
||||
|
||||
* `registry`: Requires a fully-qualified image reference (e.g., quay.io/podman/stable:latest) to be used to create the container. This enforcement is necessary to know which image to actually check and pull. If an image ID was used, Podman does not know which image to check/pull anymore.
|
||||
|
||||
* `local`: Tells Podman to compare the image a container is using to the image with its raw name in local storage. If an image is updated locally, Podman simply restarts the systemd unit executing the container.
|
||||
@@ -1,18 +0,0 @@
|
||||
####> This option file is used in:
|
||||
####> podman kube play, podman-kube.unit.5.md.in
|
||||
####> If file is edited, make sure the changes
|
||||
####> are applicable to all of those.
|
||||
<< if is_quadlet >>
|
||||
### `ConfigMap=path`
|
||||
<< else >>
|
||||
#### **--configmap**=*path*
|
||||
<< endif >>
|
||||
|
||||
Use Kubernetes configmap YAML at path to provide a source for environment variable values within the containers of the pod. (This option is not available with the remote Podman client)
|
||||
|
||||
<< if is_quadlet >>
|
||||
The value may contain only one path but it may be absolute or relative to the location of the unit file.
|
||||
<< else >>
|
||||
Note: The **--configmap** option can be used multiple times or a comma-separated list of paths can be used to pass multiple Kubernetes configmap YAMLs.
|
||||
The YAML file may be in a multi-doc YAML format. But, it must contain only configmaps.
|
||||
<< endif >>
|
||||
@@ -1,12 +0,0 @@
|
||||
####> This option file is used in:
|
||||
####> podman network create, podman-network.unit.5.md.in
|
||||
####> If file is edited, make sure the changes
|
||||
####> are applicable to all of those.
|
||||
<< if is_quadlet >>
|
||||
### `DisableDNS=true`
|
||||
<< else >>
|
||||
#### **--disable-dns**
|
||||
<< endif >>
|
||||
|
||||
Disables the DNS plugin for this network which if enabled, can perform container to container name
|
||||
resolution. It is only supported with the `bridge` driver, for other drivers it is always disabled.
|
||||
@@ -1,5 +1,5 @@
|
||||
####> This option file is used in:
|
||||
####> podman build, podman-build.unit.5.md.in, podman-container.unit.5.md.in, create, farm build, network create, podman-network.unit.5.md.in, podman-pod.unit.5.md.in, run
|
||||
####> podman build, podman-build.unit.5.md.in, podman-container.unit.5.md.in, create, farm build, podman-network.unit.5.md.in, podman-pod.unit.5.md.in, run
|
||||
####> If file is edited, make sure the changes
|
||||
####> are applicable to all of those.
|
||||
<< if is_quadlet >>
|
||||
|
||||
@@ -1,25 +0,0 @@
|
||||
####> This option file is used in:
|
||||
####> podman network create, podman-network.unit.5.md.in
|
||||
####> If file is edited, make sure the changes
|
||||
####> are applicable to all of those.
|
||||
<< if is_quadlet >>
|
||||
### `Driver=driver`
|
||||
<< else >>
|
||||
#### **--driver**, **-d**=*driver*
|
||||
<< endif >>
|
||||
|
||||
Driver to manage the network. Currently `bridge`, `macvlan` and `ipvlan` are supported. Defaults to `bridge`.
|
||||
As rootless the `macvlan` and `ipvlan` driver have no access to the host network interfaces because rootless networking requires a separate network namespace.
|
||||
|
||||
The netavark backend allows the use of so called *netavark plugins*, see the
|
||||
[plugin-API.md](https://github.com/containers/netavark/blob/main/plugin-API.md)
|
||||
documentation in netavark. The binary must be placed in a specified directory
|
||||
so podman can discover it, this list is set in `netavark_plugin_dirs` in
|
||||
**[containers.conf(5)](https://github.com/containers/common/blob/main/docs/containers.conf.5.md)**
|
||||
under the `[network]` section.
|
||||
|
||||
The name of the plugin can then be used as driver to create a network for your plugin.
|
||||
The list of all supported drivers and plugins can be seen with `podman info --format {{.Plugins.Network}}`.
|
||||
|
||||
Note that the `macvlan` and `ipvlan` drivers do not support port forwarding. Support for port forwarding
|
||||
with a plugin depends on the implementation of the plugin.
|
||||
@@ -3,7 +3,7 @@
|
||||
####> If file is edited, make sure the changes
|
||||
####> are applicable to all of those.
|
||||
<< if is_quadlet >>
|
||||
### `Environment=env=value [env=value ...]`
|
||||
### `Environment=env`
|
||||
<< else >>
|
||||
#### **--env**, **-e**=*env*
|
||||
<< endif >>
|
||||
|
||||
@@ -1,18 +0,0 @@
|
||||
####> This option file is used in:
|
||||
####> podman podman-container.unit.5.md.in
|
||||
####> If file is edited, make sure the changes
|
||||
####> are applicable to all of those.
|
||||
### `Exec=command`
|
||||
|
||||
Additional arguments for the container; this has exactly the same effect as passing
|
||||
more arguments after a `podman run <image> <arguments>` invocation.
|
||||
|
||||
The format is the same as for [systemd command lines](https://www.freedesktop.org/software/systemd/man/systemd.service.html#Command%20lines),
|
||||
However, unlike the usage scenario for similarly-named systemd `ExecStart=` verb
|
||||
which operates on the ambient root filesystem, it is very common for container
|
||||
images to have their own `ENTRYPOINT` or `CMD` metadata which this interacts with.
|
||||
|
||||
The default expectation for many images is that the image will include an `ENTRYPOINT`
|
||||
with a default binary, and this field will add arguments to that entrypoint.
|
||||
|
||||
Another way to describe this is that it works the same way as the [args field in a Kubernetes pod](https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell).
|
||||
@@ -1,11 +0,0 @@
|
||||
####> This option file is used in:
|
||||
####> podman kube down
|
||||
####> If file is edited, make sure the changes
|
||||
####> are applicable to all of those.
|
||||
<< if is_quadlet >>
|
||||
### `KubeDownForce=true`
|
||||
<< else >>
|
||||
#### **--force**
|
||||
<< endif >>
|
||||
|
||||
Remove all resources, including volumes, when calling `podman kube down`.
|
||||
@@ -1,16 +0,0 @@
|
||||
####> This option file is used in:
|
||||
####> podman network create, podman-network.unit.5.md.in
|
||||
####> If file is edited, make sure the changes
|
||||
####> are applicable to all of those.
|
||||
<< if is_quadlet >>
|
||||
### `Gateway=ip`
|
||||
<< else >>
|
||||
#### **--gateway**=*ip*
|
||||
<< endif >>
|
||||
|
||||
Define a gateway for the subnet. To provide a gateway address, a
|
||||
*subnet* option is required. Can be specified multiple times.
|
||||
|
||||
<< if not is_quadlet >>
|
||||
The argument order of the **--subnet**, **--gateway** and **--ip-range** options must match.
|
||||
<< endif >>
|
||||
@@ -1,15 +0,0 @@
|
||||
####> This option file is used in:
|
||||
####> podman podman-build.unit.5.md.in, podman-container.unit.5.md.in, podman-image.unit.5.md.in, podman-kube.unit.5.md.in, podman-network.unit.5.md.in, podman-pod.unit.5.md.in, podman-volume.unit.5.md.in
|
||||
####> If file is edited, make sure the changes
|
||||
####> are applicable to all of those.
|
||||
### `GlobalArgs=`
|
||||
|
||||
This key contains a list of arguments passed directly after the `podman` command in the generated
|
||||
file. It can be used to access Podman features otherwise unsupported by the generator. Since the
|
||||
generator is unaware of what unexpected interactions can be caused by these arguments, it is not
|
||||
recommended to use this option.
|
||||
|
||||
The format of this is a space separated list of arguments, which can optionally be individually
|
||||
escaped to allow inclusion of whitespace and other control characters.
|
||||
|
||||
This key can be listed multiple times.
|
||||
@@ -1,13 +0,0 @@
|
||||
####> This option file is used in:
|
||||
####> podman network create, podman-network.unit.5.md.in
|
||||
####> If file is edited, make sure the changes
|
||||
####> are applicable to all of those.
|
||||
<< if is_quadlet >>
|
||||
### `InterfaceName=name`
|
||||
<< else >>
|
||||
#### **--interface-name**=*name*
|
||||
<< endif >>
|
||||
|
||||
This option maps the *network_interface* option in the network config, see **podman network inspect**.
|
||||
Depending on the driver, this can have different effects; for `bridge`, it uses the bridge interface name.
|
||||
For `macvlan` and `ipvlan`, it is the parent device on the host. It is the same as `--opt parent=...`.
|
||||
@@ -1,25 +0,0 @@
|
||||
####> This option file is used in:
|
||||
####> podman network create, podman-network.unit.5.md.in
|
||||
####> If file is edited, make sure the changes
|
||||
####> are applicable to all of those.
|
||||
<< if is_quadlet >>
|
||||
### `Internal=true`
|
||||
<< else >>
|
||||
#### **--internal**
|
||||
<< endif >>
|
||||
|
||||
Restrict external access of this network when using a `bridge` network. Note when using the CNI backend
|
||||
DNS will be automatically disabled, see **--disable-dns**.
|
||||
|
||||
When using the `macvlan` or `ipvlan` driver with this option no default route will be added to the container.
|
||||
Because it bypasses the host network stack no additional restrictions can be set by podman and if a
|
||||
privileged container is run it can set a default route themselves. If this is a concern then the
|
||||
container connections should be blocked on your actual network gateway.
|
||||
|
||||
Using the `bridge` driver with this option has the following effects:
|
||||
- Global IP forwarding sysctls will not be changed in the host network namespace.
|
||||
- IP forwarding is disabled on the bridge interface instead of setting up a firewall.
|
||||
- No default route will be added to the container.
|
||||
|
||||
In all cases, aardvark-dns will only resolve container names with this option enabled.
|
||||
Other queries will be answered with `NXDOMAIN`.
|
||||
@@ -1,17 +0,0 @@
|
||||
####> This option file is used in:
|
||||
####> podman network create, podman-network.unit.5.md.in
|
||||
####> If file is edited, make sure the changes
|
||||
####> are applicable to all of those.
|
||||
<< if is_quadlet >>
|
||||
### `IPRange=ip`
|
||||
<< else >>
|
||||
#### **--ip-range**=*range*
|
||||
<< endif >>
|
||||
|
||||
Allocate container IP from a range. The range must be a either a complete subnet in CIDR notation or be in
|
||||
the `<startIP>-<endIP>` syntax which allows for a more flexible range compared to the CIDR subnet.
|
||||
The *ip-range* option must be used with a *subnet* option. Can be specified multiple times.
|
||||
|
||||
<< if not is_quadlet >>
|
||||
The argument order of the **--subnet**, **--gateway** and **--ip-range** options must match.
|
||||
<< endif >>
|
||||
@@ -1,22 +0,0 @@
|
||||
####> This option file is used in:
|
||||
####> podman network create, podman-network.unit.5.md.in
|
||||
####> If file is edited, make sure the changes
|
||||
####> are applicable to all of those.
|
||||
<< if is_quadlet >>
|
||||
### `IPAMDriver=driver`
|
||||
<< else >>
|
||||
#### **--ipam-driver**=*driver*
|
||||
<< endif >>
|
||||
|
||||
Set the ipam driver (IP Address Management Driver) for the network. When unset podman chooses an
|
||||
ipam driver automatically based on the network driver.
|
||||
|
||||
Valid values are:
|
||||
|
||||
- `dhcp`: IP addresses are assigned from a dhcp server on the network. When using the netavark backend
|
||||
the `netavark-dhcp-proxy.socket` must be enabled in order to start the dhcp-proxy when a container is
|
||||
started, for CNI use the `cni-dhcp.socket` unit instead.
|
||||
- `host-local`: IP addresses are assigned locally.
|
||||
- `none`: No ip addresses are assigned to the interfaces.
|
||||
|
||||
View the driver in the **podman network inspect** output under the `ipam_options` field.
|
||||
@@ -1,11 +0,0 @@
|
||||
####> This option file is used in:
|
||||
####> podman network create, podman-network.unit.5.md.in
|
||||
####> If file is edited, make sure the changes
|
||||
####> are applicable to all of those.
|
||||
<< if is_quadlet >>
|
||||
### `IPv6=true`
|
||||
<< else >>
|
||||
#### **--ipv6**
|
||||
<< endif >>
|
||||
|
||||
Enable IPv6 (Dual Stack) networking. If no subnets are given, it allocates an ipv4 and an ipv6 subnet.
|
||||
@@ -3,7 +3,7 @@
|
||||
####> If file is edited, make sure the changes
|
||||
####> are applicable to all of those.
|
||||
<< if is_quadlet >>
|
||||
### `Label=key=value [key=value ...]`
|
||||
### `Label=key=value`
|
||||
<< else >>
|
||||
#### **--label**, **-l**=*key=value*
|
||||
<< endif >>
|
||||
|
||||
@@ -1,11 +0,0 @@
|
||||
####> This option file is used in:
|
||||
####> podman network create, podman-network.unit.5.md.in
|
||||
####> If file is edited, make sure the changes
|
||||
####> are applicable to all of those.
|
||||
<< if is_quadlet >>
|
||||
### `Label=key=value [key=value ...]`
|
||||
<< else >>
|
||||
#### **--label**=*key=value*
|
||||
<< endif >>
|
||||
|
||||
Set one or more OCI labels on the network.
|
||||
@@ -1,40 +0,0 @@
|
||||
####> This option file is used in:
|
||||
####> podman network create, podman-network.unit.5.md.in
|
||||
####> If file is edited, make sure the changes
|
||||
####> are applicable to all of those.
|
||||
<< if is_quadlet >>
|
||||
### `Options=option`
|
||||
<< else >>
|
||||
#### **--opt**, **-o**=*option*
|
||||
<< endif >>
|
||||
|
||||
Set driver specific options.
|
||||
|
||||
All drivers accept the `mtu`, `metric`, `no_default_route` and options.
|
||||
|
||||
- `mtu`: Sets the Maximum Transmission Unit (MTU) and takes an integer value.
|
||||
- `metric` Sets the Route Metric for the default route created in every container joined to this network. Accepts a positive integer value. Can only be used with the Netavark network backend.
|
||||
- `no_default_route`: If set to 1, Podman will not automatically add a default route to subnets. Routes can still be added
|
||||
manually by creating a custom route using `--route`.
|
||||
|
||||
Additionally the `bridge` driver supports the following options:
|
||||
|
||||
- `vlan`: This option assign VLAN tag and enables vlan\_filtering. Defaults to none.
|
||||
- `isolate`: This option isolates networks by blocking traffic between those that have this option enabled.
|
||||
- `com.docker.network.bridge.name`: This option assigns the given name to the created Linux Bridge
|
||||
- `com.docker.network.driver.mtu`: Sets the Maximum Transmission Unit (MTU) and takes an integer value.
|
||||
- `vrf`: This option assigns a VRF to the bridge interface. It accepts the name of the VRF and defaults to none. Can only be used with the Netavark network backend.
|
||||
- `mode`: This option sets the specified bridge mode on the interface. Defaults to `managed`. Supported values:
|
||||
- `managed`: Podman creates and deletes the bridge and changes sysctls of it. It adds firewall rules to masquerade outgoing traffic, as well as setup port forwarding for incoming traffic using DNAT.
|
||||
- `unmanaged`: Podman uses an existing bridge. It must exist by the time you want to start a container which uses the network. There will be no NAT or port forwarding, even if such options were passed while creating the container.
|
||||
|
||||
The `macvlan` and `ipvlan` driver support the following options:
|
||||
|
||||
- `parent`: The host device which is used for the macvlan interface. Defaults to the default route interface.
|
||||
- `mode`: This option sets the specified ip/macvlan mode on the interface.
|
||||
- Supported values for `macvlan` are `bridge`, `private`, `vepa`, `passthru`. Defaults to `bridge`.
|
||||
- Supported values for `ipvlan` are `l2`, `l3`, `l3s`. Defaults to `l2`.
|
||||
|
||||
Additionally the `macvlan` driver supports the `bclim` option:
|
||||
|
||||
- `bclim`: Set the threshold for broadcast queueing. Must be a 32 bit integer. Setting this value to `-1` disables broadcast queueing altogether.
|
||||
@@ -1,15 +0,0 @@
|
||||
####> This option file is used in:
|
||||
####> podman podman-build.unit.5.md.in, podman-container.unit.5.md.in, podman-image.unit.5.md.in, podman-kube.unit.5.md.in, podman-network.unit.5.md.in, podman-pod.unit.5.md.in, podman-volume.unit.5.md.in
|
||||
####> If file is edited, make sure the changes
|
||||
####> are applicable to all of those.
|
||||
### `PodmanArgs=`
|
||||
|
||||
This key contains a list of arguments passed directly to the end of the `podman` command
|
||||
in the generated file. It can be used to access Podman features otherwise unsupported
|
||||
by the generator. Since the generator is unaware of what unexpected interactions can be
|
||||
caused by these arguments, it is not recommended to use this option.
|
||||
|
||||
The format of this is a space separated list of arguments, which can optionally be individually
|
||||
escaped to allow inclusion of whitespace and other control characters.
|
||||
|
||||
This key can be listed multiple times.
|
||||
@@ -1,16 +0,0 @@
|
||||
####> This option file is used in:
|
||||
####> podman podman-image.unit.5.md.in, pull
|
||||
####> If file is edited, make sure the changes
|
||||
####> are applicable to all of those.
|
||||
<< if is_quadlet >>
|
||||
### `Policy=always`
|
||||
<< else >>
|
||||
#### **--policy**
|
||||
<< endif >>
|
||||
|
||||
Pull image policy. The default is **always**.
|
||||
|
||||
- `always`: Always pull the image and throw an error if the pull fails.
|
||||
- `missing`: Only pull the image if it could not be found in the local containers storage. Throw an error if no image could be found and the pull fails.
|
||||
- `never`: Never pull the image; only use the local version. Throw an error if the image is not present locally.
|
||||
- `newer`: Pull if the image on the registry is newer than the one in the local containers storage. An image is considered to be newer when the digests are different. Comparing the time stamps is prone to errors. Pull errors are suppressed if a local image was found.
|
||||
@@ -1,15 +0,0 @@
|
||||
####> This option file is used in:
|
||||
####> podman network create, podman-network.unit.5.md.in
|
||||
####> If file is edited, make sure the changes
|
||||
####> are applicable to all of those.
|
||||
<< if is_quadlet >>
|
||||
### `Subnet=subnet`
|
||||
<< else >>
|
||||
#### **--subnet**=*subnet*
|
||||
<< endif >>
|
||||
|
||||
The subnet in CIDR notation. Can be specified multiple times to allocate more than one subnet for this network.
|
||||
<< if not is_quadlet >>
|
||||
The argument order of the **--subnet**, **--gateway** and **--ip-range** options must match.
|
||||
<< endif >>
|
||||
This is useful to set a static ipv4 and ipv6 subnet.
|
||||
@@ -1,13 +0,0 @@
|
||||
####> This option file is used in:
|
||||
####> podman build, podman-build.unit.5.md.in
|
||||
####> If file is edited, make sure the changes
|
||||
####> are applicable to all of those.
|
||||
<< if is_quadlet >>
|
||||
### `Variant=VARIANT`
|
||||
<< else >>
|
||||
#### **--variant**=*VARIANT*
|
||||
<< endif >>
|
||||
|
||||
Set the architecture variant of the image to be built, and that of the base
|
||||
image to be pulled, if the build uses one, to the provided value instead of
|
||||
using the architecture variant of the build host.
|
||||
@@ -481,7 +481,11 @@ Use --stdin to be able to interact from the terminal during the build.
|
||||
|
||||
@@option uts
|
||||
|
||||
@@option variant.build
|
||||
#### **--variant**=*variant*
|
||||
|
||||
Set the architecture variant of the image to be built, and that of the base
|
||||
image to be pulled, if the build uses one, to the provided value instead of
|
||||
using the architecture variant of the build host.
|
||||
|
||||
@@option volume.image
|
||||
|
||||
|
||||
@@ -74,7 +74,12 @@ Valid options for `[Build]` section are listed below:
|
||||
| Variant=arm/v7 | --variant=arm/v7 |
|
||||
| Volume=/source:/dest | --volume /source:/dest |
|
||||
|
||||
@@option quadlet:annotation.image
|
||||
### `Annotation=`
|
||||
|
||||
Add an image *annotation* (e.g. annotation=*value*) to the image metadata. Can be used multiple
|
||||
times.
|
||||
|
||||
This is equivalent to the `--annotation` option of `podman build`.
|
||||
|
||||
@@option quadlet:arch
|
||||
|
||||
@@ -94,7 +99,17 @@ Valid options for `[Build]` section are listed below:
|
||||
|
||||
@@option quadlet:force-rm
|
||||
|
||||
@@option quadlet:global-args
|
||||
### `GlobalArgs=`
|
||||
|
||||
This key contains a list of arguments passed directly between `podman` and `build` in the generated
|
||||
file. It can be used to access Podman features otherwise unsupported by the generator. Since the
|
||||
generator is unaware of what unexpected interactions can be caused by these arguments, it is not
|
||||
recommended to use this option.
|
||||
|
||||
The format of this is a space separated list of arguments, which can optionally be individually
|
||||
escaped to allow inclusion of whitespace and other control characters.
|
||||
|
||||
This key can be listed multiple times.
|
||||
|
||||
@@option quadlet:group-add
|
||||
|
||||
@@ -104,7 +119,18 @@ Valid options for `[Build]` section are listed below:
|
||||
|
||||
@@option quadlet:network.image
|
||||
|
||||
@@option quadlet:podman-args
|
||||
### `PodmanArgs=`
|
||||
|
||||
This key contains a list of arguments passed directly to the end of the `podman build` command
|
||||
in the generated file (right before the image name in the command line). It can be used to
|
||||
access Podman features otherwise unsupported by the generator. Since the generator is unaware
|
||||
of what unexpected interactions can be caused by these arguments, it is not recommended to use
|
||||
this option.
|
||||
|
||||
The format of this is a space separated list of arguments, which can optionally be individually
|
||||
escaped to allow inclusion of whitespace and other control characters.
|
||||
|
||||
This key can be listed multiple times.
|
||||
|
||||
@@option quadlet:pull
|
||||
|
||||
@@ -114,7 +140,7 @@ Valid options for `[Build]` section are listed below:
|
||||
|
||||
@@option quadlet:secret.image
|
||||
|
||||
### `SetWorkingDirectory=path`
|
||||
### `SetWorkingDirectory=`
|
||||
|
||||
Provide context (a working directory) to `podman build`. Supported values are a path, a URL, or the
|
||||
special keys `file` or `unit` to set the context directory to the parent directory of the file from
|
||||
@@ -139,7 +165,11 @@ also been provided.
|
||||
|
||||
@@option quadlet:tls-verify
|
||||
|
||||
@@option quadlet:variant.build
|
||||
### `Variant=`
|
||||
|
||||
Override the default architecture variant of the container image to be built.
|
||||
|
||||
This is equivalent to the `--variant` option of `podman build`.
|
||||
|
||||
@@option quadlet:volume
|
||||
|
||||
|
||||
@@ -138,7 +138,14 @@ Description of `[Container]` section are:
|
||||
|
||||
@@option quadlet:annotation.container
|
||||
|
||||
@@option quadlet:auto-update
|
||||
|
||||
### `AutoUpdate=`
|
||||
|
||||
Indicates whether the container will be auto-updated ([podman-auto-update(1)](podman-auto-update.1.md)). The following values are supported:
|
||||
|
||||
* `registry`: Requires a fully-qualified image reference (e.g., quay.io/podman/stable:latest) to be used to create the container. This enforcement is necessary to know which image to actually check and pull. If an image ID was used, Podman does not know which image to check/pull anymore.
|
||||
|
||||
* `local`: Tells Podman to compare the image a container is using to the image with its raw name in local storage. If an image is updated locally, Podman simply restarts the systemd unit executing the container.
|
||||
|
||||
@@option quadlet:cgroups
|
||||
|
||||
@@ -162,15 +169,38 @@ Description of `[Container]` section are:
|
||||
|
||||
@@option quadlet:env-host
|
||||
|
||||
@@option quadlet:exec
|
||||
### `Exec=`
|
||||
|
||||
Additional arguments for the container; this has exactly the same effect as passing
|
||||
more arguments after a `podman run <image> <arguments>` invocation.
|
||||
|
||||
The format is the same as for [systemd command lines](https://www.freedesktop.org/software/systemd/man/systemd.service.html#Command%20lines),
|
||||
However, unlike the usage scenario for similarly-named systemd `ExecStart=` verb
|
||||
which operates on the ambient root filesystem, it is very common for container
|
||||
images to have their own `ENTRYPOINT` or `CMD` metadata which this interacts with.
|
||||
|
||||
The default expectation for many images is that the image will include an `ENTRYPOINT`
|
||||
with a default binary, and this field will add arguments to that entrypoint.
|
||||
|
||||
Another way to describe this is that it works the same way as the [args field in a Kubernetes pod](https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell).
|
||||
|
||||
@@option quadlet:expose
|
||||
|
||||
@@option quadlet:gidmap.container
|
||||
|
||||
@@option quadlet:global-args
|
||||
### `GlobalArgs=`
|
||||
|
||||
### `Group=gid`
|
||||
This key contains a list of arguments passed directly between `podman` and `run`
|
||||
in the generated file. It can be used to access Podman features otherwise unsupported by the generator. Since the generator is unaware
|
||||
of what unexpected interactions can be caused by these arguments, it is not recommended to use
|
||||
this option.
|
||||
|
||||
The format of this is a space separated list of arguments, which can optionally be individually
|
||||
escaped to allow inclusion of whitespace and other control characters.
|
||||
|
||||
This key can be listed multiple times.
|
||||
|
||||
### `Group=`
|
||||
|
||||
The (numeric) GID to run as inside the container. This does not need to match the GID on the host,
|
||||
which can be modified with `UserNS`, but if that is not specified, this GID is also used on the host.
|
||||
@@ -210,7 +240,7 @@ which can be modified with `UserNS`, but if that is not specified, this GID is a
|
||||
|
||||
@@option quadlet:http-proxy
|
||||
|
||||
### `Image=name`
|
||||
### `Image=`
|
||||
|
||||
The image to run in the container.
|
||||
It is recommended to use a fully qualified image name rather than a short name, both for
|
||||
@@ -234,7 +264,7 @@ Special Cases:
|
||||
|
||||
@@option quadlet:log-opt
|
||||
|
||||
### `Mask=/path/1:/path/2`
|
||||
### `Mask=`
|
||||
|
||||
Specify the paths to mask separated by a colon. `Mask=/path/1:/path/2`. A masked path cannot be accessed inside the container.
|
||||
|
||||
@@ -247,12 +277,12 @@ Specify the paths to mask separated by a colon. `Mask=/path/1:/path/2`. A masked
|
||||
|
||||
@@option quadlet:network-alias
|
||||
|
||||
### `NoNewPrivileges=bool` (defaults to `false`)
|
||||
### `NoNewPrivileges=` (defaults to `false`)
|
||||
|
||||
If enabled, this disables the container processes from gaining additional privileges via things like
|
||||
setuid and file capabilities.
|
||||
|
||||
### `Notify=bool` (defaults to `false`)
|
||||
### `Notify=` (defaults to `false`)
|
||||
|
||||
By default, Podman is run in such a way that the systemd startup notify command is handled by
|
||||
the container runtime. In other words, the service is deemed started when the container runtime
|
||||
@@ -267,7 +297,7 @@ setting up a container healthcheck, see the `HealthCmd` option for more.
|
||||
|
||||
@@option quadlet:pids-limit
|
||||
|
||||
### `Pod=name`
|
||||
### `Pod=`
|
||||
|
||||
Specify a Quadlet `.pod` unit to link the container to.
|
||||
The value must take the form of `<name>.pod` and the `.pod` unit must exist.
|
||||
@@ -275,7 +305,18 @@ The value must take the form of `<name>.pod` and the `.pod` unit must exist.
|
||||
Quadlet will add all the necessary parameters to link between the container and the pod and between their corresponding services.
|
||||
|
||||
|
||||
@@option quadlet:podman-args
|
||||
### `PodmanArgs=`
|
||||
|
||||
This key contains a list of arguments passed directly to the end of the `podman run` command
|
||||
in the generated file (right before the image name in the command line). It can be used to
|
||||
access Podman features otherwise unsupported by the generator. Since the generator is unaware
|
||||
of what unexpected interactions can be caused by these arguments, it is not recommended to use
|
||||
this option.
|
||||
|
||||
The format of this is a space separated list of arguments, which can optionally be individually
|
||||
escaped to allow inclusion of whitespace and other control characters.
|
||||
|
||||
This key can be listed multiple times.
|
||||
|
||||
@@option quadlet:publish
|
||||
|
||||
@@ -285,7 +326,7 @@ Quadlet will add all the necessary parameters to link between the container and
|
||||
|
||||
@@option quadlet:read-only-tmpfs
|
||||
|
||||
### `ReloadCmd=/usr/bin/command`
|
||||
### `ReloadCmd=`
|
||||
|
||||
Add `ExecReload` line to the `Service` that runs ` podman exec` with this command in this container.
|
||||
|
||||
@@ -293,7 +334,7 @@ In order to execute the reload run `systemctl reload <Service>`
|
||||
|
||||
Mutually exclusive with `ReloadSignal`
|
||||
|
||||
### `ReloadSignal=signal`
|
||||
### `ReloadSignal=`
|
||||
|
||||
Add `ExecReload` line to the `Service` that runs `podman kill` with this signal which sends the signal to the main container process.
|
||||
|
||||
@@ -309,36 +350,36 @@ Mutually exclusive with `ReloadCmd`
|
||||
|
||||
@@option quadlet:init
|
||||
|
||||
### `SeccompProfile=path`
|
||||
### `SeccompProfile=`
|
||||
|
||||
Set the seccomp profile to use in the container. If unset, the default podman profile is used.
|
||||
Set to either the pathname of a JSON file, or `unconfined` to disable the seccomp filters.
|
||||
|
||||
@@option quadlet:secret
|
||||
|
||||
### `SecurityLabelDisable=bool`
|
||||
### `SecurityLabelDisable=`
|
||||
|
||||
Turn off label separation for the container.
|
||||
|
||||
### `SecurityLabelFileType=label`
|
||||
### `SecurityLabelFileType=`
|
||||
|
||||
Set the label file type for the container files.
|
||||
|
||||
### `SecurityLabelLevel=s0:c1,c2`
|
||||
### `SecurityLabelLevel=`
|
||||
|
||||
Set the label process level for the container processes.
|
||||
|
||||
### `SecurityLabelNested=bool`
|
||||
### `SecurityLabelNested=`
|
||||
|
||||
Allow SecurityLabels to function within the container. This allows separation of containers created within the container.
|
||||
|
||||
### `SecurityLabelType=type`
|
||||
### `SecurityLabelType=`
|
||||
|
||||
Set the label process type for the container processes.
|
||||
|
||||
@@option quadlet:shm-size
|
||||
|
||||
### `StartWithPod=bool`
|
||||
### `StartWithPod=`
|
||||
|
||||
Start the container after the associated pod is created. Default to **true**.
|
||||
|
||||
|
||||
@@ -48,7 +48,11 @@ Valid options for `[Image]` are listed below:
|
||||
| TLSVerify=false | --tls-verify=false |
|
||||
| Variant=arm/v7 | --variant=arm/v7 |
|
||||
|
||||
@@option quadlet:all-tags
|
||||
### `AllTags=`
|
||||
|
||||
All tagged images in the repository are pulled.
|
||||
|
||||
This is equivalent to the Podman `--all-tags` option.
|
||||
|
||||
@@option quadlet:arch
|
||||
|
||||
@@ -62,7 +66,17 @@ Valid options for `[Image]` are listed below:
|
||||
|
||||
@@option quadlet:decryption-key
|
||||
|
||||
@@option quadlet:global-args
|
||||
### `GlobalArgs=`
|
||||
|
||||
This key contains a list of arguments passed directly between `podman` and `image`
|
||||
in the generated file. It can be used to access Podman features otherwise unsupported by the generator. Since the generator is unaware
|
||||
of what unexpected interactions can be caused by these arguments, it is not recommended to use
|
||||
this option.
|
||||
|
||||
The format of this is a space separated list of arguments, which can optionally be individually
|
||||
escaped to allow inclusion of whitespace and other control characters.
|
||||
|
||||
This key can be listed multiple times.
|
||||
|
||||
### `Image=`
|
||||
|
||||
@@ -88,9 +102,24 @@ requires setting
|
||||
|
||||
@@option quadlet:os.pull
|
||||
|
||||
@@option quadlet:podman-args
|
||||
### `PodmanArgs=`
|
||||
|
||||
@@option quadlet:policy
|
||||
This key contains a list of arguments passed directly to the end of the `podman image pull` command
|
||||
in the generated file (right before the image name in the command line). It can be used to
|
||||
access Podman features otherwise unsupported by the generator. Since the generator is unaware
|
||||
of what unexpected interactions can be caused by these arguments, it is not recommended to use
|
||||
this option.
|
||||
|
||||
The format of this is a space separated list of arguments, which can optionally be individually
|
||||
escaped to allow inclusion of whitespace and other control characters.
|
||||
|
||||
This key can be listed multiple times.
|
||||
|
||||
### `Policy=`
|
||||
|
||||
The pull policy to use when pulling the image.
|
||||
|
||||
This is equivalent to the Podman `--policy` option.
|
||||
|
||||
@@option quadlet:retry
|
||||
|
||||
|
||||
+3
-1
@@ -16,7 +16,9 @@ specified as `-`, `podman kube down` reads the YAML from stdin. The input can al
|
||||
|
||||
## OPTIONS
|
||||
|
||||
@@option force.kube-down
|
||||
#### **--force**
|
||||
|
||||
Tear down the volumes linked to the PersistentVolumeClaims as part --down
|
||||
|
||||
## EXAMPLES
|
||||
|
||||
@@ -213,7 +213,12 @@ Note: You can also override the default isolation type by setting the BUILDAH_
|
||||
|
||||
@@option cert-dir
|
||||
|
||||
@@option configmap
|
||||
#### **--configmap**=*path*
|
||||
|
||||
Use Kubernetes configmap YAML at path to provide a source for environment variable values within the containers of the pod. (This option is not available with the remote Podman client)
|
||||
|
||||
Note: The *--configmap* option can be used multiple times or a comma-separated list of paths can be used to pass multiple Kubernetes configmap YAMLs.
|
||||
The YAML file may be in a multi-doc YAML format. But, it must container only configmaps
|
||||
|
||||
#### **--context-dir**=*path*
|
||||
|
||||
|
||||
@@ -60,12 +60,17 @@ Indicates whether containers will be auto-updated ([podman-auto-update(1)](podma
|
||||
|
||||
* `name/(local|registry)`: Tells Podman to perform the `local` or `registry` autoupdate on the specified container name.
|
||||
|
||||
### `ConfigMap=`
|
||||
|
||||
@@option quadlet:configmap
|
||||
Pass the Kubernetes ConfigMap YAML path to `podman kube play` via the `--configmap` argument.
|
||||
Unlike the `configmap` argument, the value may contain only one path but
|
||||
it may be absolute or relative to the location of the unit file.
|
||||
|
||||
This key may be used multiple times
|
||||
|
||||
@@option quadlet:module
|
||||
|
||||
### `ExitCodePropagation=how`
|
||||
### `ExitCodePropagation=`
|
||||
|
||||
Control how the main PID of the systemd service should exit. The following values are supported:
|
||||
- `all`: exit non-zero if all containers have failed (i.e., exited non-zero)
|
||||
@@ -74,9 +79,19 @@ Control how the main PID of the systemd service should exit. The following value
|
||||
|
||||
The current default value is `none`.
|
||||
|
||||
@@option quadlet:global-args
|
||||
### `GlobalArgs=`
|
||||
|
||||
### `KubeDownForce=true`
|
||||
This key contains a list of arguments passed directly between `podman` and `kube`
|
||||
in the generated file. It can be used to access Podman features otherwise unsupported by the generator. Since the generator is unaware
|
||||
of what unexpected interactions can be caused by these arguments, it is not recommended to use
|
||||
this option.
|
||||
|
||||
The format of this is a space separated list of arguments, which can optionally be individually
|
||||
escaped to allow inclusion of whitespace and other control characters.
|
||||
|
||||
This key can be listed multiple times.
|
||||
|
||||
### `KubeDownForce=`
|
||||
|
||||
Remove all resources, including volumes, when calling `podman kube down`.
|
||||
Equivalent to the Podman `--force` option.
|
||||
@@ -85,11 +100,22 @@ Equivalent to the Podman `--force` option.
|
||||
|
||||
@@option quadlet:network
|
||||
|
||||
@@option quadlet:podman-args
|
||||
### `PodmanArgs=`
|
||||
|
||||
This key contains a list of arguments passed directly to the end of the `podman kube play` command
|
||||
in the generated file (right before the path to the yaml file in the command line). It can be used to
|
||||
access Podman features otherwise unsupported by the generator. Since the generator is unaware
|
||||
of what unexpected interactions can be caused by these arguments, is not recommended to use
|
||||
this option.
|
||||
|
||||
The format of this is a space separated list of arguments, which can optionally be individually
|
||||
escaped to allow inclusion of whitespace and other control characters.
|
||||
|
||||
This key can be listed multiple times.
|
||||
|
||||
@@option quadlet:publish
|
||||
|
||||
### `SetWorkingDirectory=yaml`
|
||||
### `SetWorkingDirectory=`
|
||||
|
||||
Set the `WorkingDirectory` field of the `Service` group of the Systemd service unit file.
|
||||
Used to allow `podman kube play` to correctly resolve relative paths.
|
||||
@@ -101,7 +127,7 @@ Quadlet will not set it even if `SetWorkingDirectory` is set
|
||||
|
||||
@@option quadlet:userns.container
|
||||
|
||||
### `Yaml=path`
|
||||
### `Yaml=`
|
||||
|
||||
The path, absolute or relative to the location of the unit file, to the Kubernetes YAML file to use.
|
||||
|
||||
|
||||
@@ -0,0 +1,215 @@
|
||||
% podman-network-create 1
|
||||
|
||||
## NAME
|
||||
podman\-network-create - Create a Podman network
|
||||
|
||||
## SYNOPSIS
|
||||
**podman network create** [*options*] [*name*]
|
||||
|
||||
## DESCRIPTION
|
||||
Create a 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 or
|
||||
ipvlan can be designated with the *-o parent=`<device>`* or *--network-interface=`<device>`* option.
|
||||
|
||||
If no options are provided, Podman assigns a free subnet and name for the network.
|
||||
|
||||
Upon completion of creating the network, Podman displays 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. It is only supported with the `bridge` driver, for other drivers it is always disabled.
|
||||
|
||||
#### **--dns**=*ip*
|
||||
|
||||
Set network-scoped DNS resolver/nameserver for containers in this network. If not set, the host servers from `/etc/resolv.conf` is used. It can be overwritten on the container level with the `podman run/create --dns` option. This option can be specified multiple times to set more than one IP.
|
||||
|
||||
#### **--driver**, **-d**=*driver*
|
||||
|
||||
Driver to manage the network. Currently `bridge`, `macvlan` and `ipvlan` are supported. Defaults to `bridge`.
|
||||
As rootless the `macvlan` and `ipvlan` driver have no access to the host network interfaces because rootless networking requires a separate network namespace.
|
||||
|
||||
The netavark backend allows the use of so called *netavark plugins*, see the
|
||||
[plugin-API.md](https://github.com/containers/netavark/blob/main/plugin-API.md)
|
||||
documentation in netavark. The binary must be placed in a specified directory
|
||||
so podman can discover it, this list is set in `netavark_plugin_dirs` in
|
||||
**[containers.conf(5)](https://github.com/containers/common/blob/main/docs/containers.conf.5.md)**
|
||||
under the `[network]` section.
|
||||
|
||||
The name of the plugin can then be used as driver to create a network for your plugin.
|
||||
The list of all supported drivers and plugins can be seen with `podman info --format {{.Plugins.Network}}`.
|
||||
|
||||
Note that the `macvlan` and `ipvlan` drivers do not support port forwarding. Support for port forwarding
|
||||
with a plugin depends on the implementation of the plugin.
|
||||
|
||||
#### **--gateway**=*ip*
|
||||
|
||||
Define a gateway for the subnet. To provide a gateway address, a
|
||||
*subnet* option is required. Can be specified multiple times.
|
||||
The argument order of the **--subnet**, **--gateway** and **--ip-range** options must match.
|
||||
|
||||
#### **--ignore**
|
||||
|
||||
Ignore the create request if a network with the same name already exists instead of failing.
|
||||
Note, trying to create a network with an existing name and different parameters does not change the configuration of the existing one.
|
||||
|
||||
#### **--interface-name**=*name*
|
||||
|
||||
This option maps the *network_interface* option in the network config, see **podman network inspect**.
|
||||
Depending on the driver, this can have different effects; for `bridge`, it uses the bridge interface name.
|
||||
For `macvlan` and `ipvlan`, it is the parent device on the host. It is the same as `--opt parent=...`.
|
||||
|
||||
#### **--internal**
|
||||
|
||||
Restrict external access of this network when using a `bridge` network. Note when using the CNI backend
|
||||
DNS will be automatically disabled, see **--disable-dns**.
|
||||
|
||||
When using the `macvlan` or `ipvlan` driver with this option no default route will be added to the container.
|
||||
Because it bypasses the host network stack no additional restrictions can be set by podman and if a
|
||||
privileged container is run it can set a default route themselves. If this is a concern then the
|
||||
container connections should be blocked on your actual network gateway.
|
||||
|
||||
Using the `bridge` driver with this option has the following effects:
|
||||
- Global IP forwarding sysctls will not be changed in the host network namespace.
|
||||
- IP forwarding is disabled on the bridge interface instead of setting up a firewall.
|
||||
- No default route will be added to the container.
|
||||
|
||||
In all cases, aardvark-dns will only resolve container names with this option enabled.
|
||||
Other queries will be answered with `NXDOMAIN`.
|
||||
|
||||
#### **--ip-range**=*range*
|
||||
|
||||
Allocate container IP from a range. The range must be a either a complete subnet in CIDR notation or be in
|
||||
the `<startIP>-<endIP>` syntax which allows for a more flexible range compared to the CIDR subnet.
|
||||
The *ip-range* option must be used with a *subnet* option. Can be specified multiple times.
|
||||
The argument order of the **--subnet**, **--gateway** and **--ip-range** options must match.
|
||||
|
||||
#### **--ipam-driver**=*driver*
|
||||
|
||||
Set the ipam driver (IP Address Management Driver) for the network. When unset podman chooses an
|
||||
ipam driver automatically based on the network driver.
|
||||
|
||||
Valid values are:
|
||||
|
||||
- `dhcp`: IP addresses are assigned from a dhcp server on the network. When using the netavark backend
|
||||
the `netavark-dhcp-proxy.socket` must be enabled in order to start the dhcp-proxy when a container is
|
||||
started, for CNI use the `cni-dhcp.socket` unit instead.
|
||||
- `host-local`: IP addresses are assigned locally.
|
||||
- `none`: No ip addresses are assigned to the interfaces.
|
||||
|
||||
View the driver in the **podman network inspect** output under the `ipam_options` field.
|
||||
|
||||
#### **--ipv6**
|
||||
|
||||
Enable IPv6 (Dual Stack) networking. If no subnets are given, it allocates an ipv4 and an ipv6 subnet.
|
||||
|
||||
#### **--label**=*label*
|
||||
|
||||
Set metadata for a network (e.g., --label mykey=value).
|
||||
|
||||
#### **--opt**, **-o**=*option*
|
||||
|
||||
Set driver specific options.
|
||||
|
||||
All drivers accept the `mtu`, `metric`, `no_default_route` and options.
|
||||
|
||||
- `mtu`: Sets the Maximum Transmission Unit (MTU) and takes an integer value.
|
||||
- `metric` Sets the Route Metric for the default route created in every container joined to this network. Accepts a positive integer value. Can only be used with the Netavark network backend.
|
||||
- `no_default_route`: If set to 1, Podman will not automatically add a default route to subnets. Routes can still be added
|
||||
manually by creating a custom route using `--route`.
|
||||
|
||||
Additionally the `bridge` driver supports the following options:
|
||||
|
||||
- `vlan`: This option assign VLAN tag and enables vlan\_filtering. Defaults to none.
|
||||
- `isolate`: This option isolates networks by blocking traffic between those that have this option enabled.
|
||||
- `com.docker.network.bridge.name`: This option assigns the given name to the created Linux Bridge
|
||||
- `com.docker.network.driver.mtu`: Sets the Maximum Transmission Unit (MTU) and takes an integer value.
|
||||
- `vrf`: This option assigns a VRF to the bridge interface. It accepts the name of the VRF and defaults to none. Can only be used with the Netavark network backend.
|
||||
- `mode`: This option sets the specified bridge mode on the interface. Defaults to `managed`. Supported values:
|
||||
- `managed`: Podman creates and deletes the bridge and changes sysctls of it. It adds firewall rules to masquerade outgoing traffic, as well as setup port forwarding for incoming traffic using DNAT.
|
||||
- `unmanaged`: Podman uses an existing bridge. It must exist by the time you want to start a container which uses the network. There will be no NAT or port forwarding, even if such options were passed while creating the container.
|
||||
|
||||
The `macvlan` and `ipvlan` driver support the following options:
|
||||
|
||||
- `parent`: The host device which is used for the macvlan interface. Defaults to the default route interface.
|
||||
- `mode`: This option sets the specified ip/macvlan mode on the interface.
|
||||
- Supported values for `macvlan` are `bridge`, `private`, `vepa`, `passthru`. Defaults to `bridge`.
|
||||
- Supported values for `ipvlan` are `l2`, `l3`, `l3s`. Defaults to `l2`.
|
||||
|
||||
Additionally the `macvlan` driver supports the `bclim` option:
|
||||
|
||||
- `bclim`: Set the threshold for broadcast queueing. Must be a 32 bit integer. Setting this value to `-1` disables broadcast queueing altogether.
|
||||
|
||||
#### **--route**=*route*
|
||||
|
||||
A static route in the format `<destination in CIDR notation>,<gateway>,<route metric (optional)>`. This route will be added to every container in this network. Only available with the netavark backend. It can be specified multiple times if more than one static route is desired.
|
||||
|
||||
#### **--subnet**=*subnet*
|
||||
|
||||
The subnet in CIDR notation. Can be specified multiple times to allocate more than one subnet for this network.
|
||||
The argument order of the **--subnet**, **--gateway** and **--ip-range** options must match.
|
||||
This is useful to set a static ipv4 and ipv6 subnet.
|
||||
|
||||
## EXAMPLES
|
||||
|
||||
Create a network with no options.
|
||||
```
|
||||
$ podman network create
|
||||
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.33.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
|
||||
podman5
|
||||
```
|
||||
|
||||
Create a network with a static ipv4 and ipv6 subnet and set a gateway.
|
||||
```
|
||||
$ 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
|
||||
```
|
||||
|
||||
Create a network with a static subnet and a static route.
|
||||
```
|
||||
$ podman network create --subnet 192.168.33.0/24 --route 10.1.0.0/24,192.168.33.10 newnet
|
||||
```
|
||||
|
||||
Create a network with a static subnet and a static route without a default
|
||||
route.
|
||||
```
|
||||
$ 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
|
||||
```
|
||||
|
||||
Create a Macvlan based network using the host interface eth0. Macvlan networks can only be used as root.
|
||||
```
|
||||
$ sudo podman network create -d macvlan -o parent=eth0 --subnet 192.5.0.0/16 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)**, **[containers.conf(5)](https://github.com/containers/common/blob/main/docs/containers.conf.5.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>
|
||||
@@ -1,114 +0,0 @@
|
||||
% podman-network-create 1
|
||||
|
||||
## NAME
|
||||
podman\-network-create - Create a Podman network
|
||||
|
||||
## SYNOPSIS
|
||||
**podman network create** [*options*] [*name*]
|
||||
|
||||
## DESCRIPTION
|
||||
Create a 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 or
|
||||
ipvlan can be designated with the *-o parent=`<device>`* or *--network-interface=`<device>`* option.
|
||||
|
||||
If no options are provided, Podman assigns a free subnet and name for the network.
|
||||
|
||||
Upon completion of creating the network, Podman displays the name of the newly added network.
|
||||
|
||||
## OPTIONS
|
||||
|
||||
@@option disable-dns
|
||||
|
||||
@@option dns
|
||||
|
||||
@@option driver
|
||||
|
||||
@@option gateway
|
||||
|
||||
#### **--ignore**
|
||||
|
||||
Ignore the create request if a network with the same name already exists instead of failing.
|
||||
Note, trying to create a network with an existing name and different parameters does not change the configuration of the existing one.
|
||||
|
||||
@@option interface-name
|
||||
|
||||
@@option internal
|
||||
|
||||
@@option ip-range
|
||||
|
||||
@@option ipam-driver
|
||||
|
||||
@@option ipv6
|
||||
|
||||
@@option label.network
|
||||
|
||||
@@option opt
|
||||
|
||||
#### **--route**=*route*
|
||||
|
||||
A static route in the format `<destination in CIDR notation>,<gateway>,<route metric (optional)>`. This route will be added to every container in this network. Only available with the netavark backend. It can be specified multiple times if more than one static route is desired.
|
||||
|
||||
@@option subnet
|
||||
|
||||
## EXAMPLES
|
||||
|
||||
Create a network with no options.
|
||||
```
|
||||
$ podman network create
|
||||
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.33.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
|
||||
podman5
|
||||
```
|
||||
|
||||
Create a network with a static ipv4 and ipv6 subnet and set a gateway.
|
||||
```
|
||||
$ 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
|
||||
```
|
||||
|
||||
Create a network with a static subnet and a static route.
|
||||
```
|
||||
$ podman network create --subnet 192.168.33.0/24 --route 10.1.0.0/24,192.168.33.10 newnet
|
||||
```
|
||||
|
||||
Create a network with a static subnet and a static route without a default
|
||||
route.
|
||||
```
|
||||
$ 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
|
||||
```
|
||||
|
||||
Create a Macvlan based network using the host interface eth0. Macvlan networks can only be used as root.
|
||||
```
|
||||
$ sudo podman network create -d macvlan -o parent=eth0 --subnet 192.5.0.0/16 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)**, **[containers.conf(5)](https://github.com/containers/common/blob/main/docs/containers.conf.5.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>
|
||||
@@ -19,9 +19,7 @@ a network file named `$NAME.network`, the generated Podman network is called `sy
|
||||
the generated service file is `$NAME-network.service`. The `NetworkName` option allows for
|
||||
overriding this default name with a user-provided one.
|
||||
|
||||
Please note that stopping the corresponding service will not remove the podman network by default -
|
||||
this can be overridden by the `NetworkDeleteOnStop=true` option.
|
||||
|
||||
Please note that stopping the corresponding service will not remove the podman network.
|
||||
In addition, updating an existing network is not supported.
|
||||
In order to update the network parameters you will first need to manually remove the podman network and then restart the service.
|
||||
|
||||
@@ -52,47 +50,124 @@ Valid options for `[Network]` are listed below:
|
||||
| PodmanArgs=--dns=192.168.55.1 | --dns=192.168.55.1 |
|
||||
| Subnet=192.5.0.0/16 | --subnet 192.5.0.0/16 |
|
||||
|
||||
Supported keys in `[Network]` section are:
|
||||
|
||||
@@option quadlet:module
|
||||
|
||||
@@option quadlet:disable-dns
|
||||
### `DisableDNS=` (defaults to `false`)
|
||||
|
||||
If enabled, disables the DNS plugin for this network.
|
||||
|
||||
This is equivalent to the Podman `--disable-dns` option
|
||||
|
||||
@@option quadlet:dns
|
||||
|
||||
@@option quadlet:driver
|
||||
### `Driver=` (defaults to `bridge`)
|
||||
|
||||
@@option quadlet:gateway
|
||||
Driver to manage the network. Currently `bridge`, `macvlan` and `ipvlan` are supported.
|
||||
|
||||
@@option quadlet:global-args
|
||||
This is equivalent to the Podman `--driver` option
|
||||
|
||||
@@option quadlet:interface-name
|
||||
### `Gateway=`
|
||||
|
||||
@@option quadlet:internal
|
||||
Define a gateway for the subnet. If you want to provide a gateway address, you must also provide a subnet option.
|
||||
|
||||
@@option quadlet:ipam-driver
|
||||
This is equivalent to the Podman `--gateway` option
|
||||
|
||||
@@option quadlet:ip-range
|
||||
This key can be listed multiple times.
|
||||
|
||||
@@option quadlet:ipv6
|
||||
### `GlobalArgs=`
|
||||
|
||||
@@option quadlet:label.network
|
||||
This key contains a list of arguments passed directly between `podman` and `network`
|
||||
in the generated file. It can be used to access Podman features otherwise unsupported by the generator. Since the generator is unaware
|
||||
of what unexpected interactions can be caused by these arguments, it is not recommended to use
|
||||
this option.
|
||||
|
||||
### `NetworkDeleteOnStop=true` (defaults to `false`)
|
||||
The format of this is a space separated list of arguments, which can optionally be individually
|
||||
escaped to allow inclusion of whitespace and other control characters.
|
||||
|
||||
This key can be listed multiple times.
|
||||
|
||||
### `InterfaceName=`
|
||||
|
||||
This option maps the *network_interface* option in the network config, see **podman network inspect**.
|
||||
Depending on the driver, this can have different effects; for `bridge`, it uses the bridge interface name.
|
||||
For `macvlan` and `ipvlan`, it is the parent device on the host. It is the same as `--opt parent=...`.
|
||||
|
||||
This is equivalent to the Podman `--interface-name` option.
|
||||
|
||||
### `Internal=` (defaults to `false`)
|
||||
|
||||
Restrict external access of this network.
|
||||
|
||||
This is equivalent to the Podman `--internal` option
|
||||
|
||||
### `IPAMDriver=`
|
||||
|
||||
Set the ipam driver (IP Address Management Driver) for the network. Currently `host-local`, `dhcp` and `none` are supported.
|
||||
|
||||
This is equivalent to the Podman `--ipam-driver` option
|
||||
|
||||
### `IPRange=`
|
||||
|
||||
Allocate container IP from a range. The range must be a either a complete subnet in CIDR notation or be
|
||||
in the `<startIP>-<endIP>` syntax which allows for a more flexible range compared to the CIDR subnet.
|
||||
The ip-range option must be used with a subnet option.
|
||||
|
||||
This is equivalent to the Podman `--ip-range` option
|
||||
|
||||
This key can be listed multiple times.
|
||||
|
||||
### `IPv6=`
|
||||
|
||||
Enable IPv6 (Dual Stack) networking.
|
||||
|
||||
This is equivalent to the Podman `--ipv6` option
|
||||
|
||||
### `Label=`
|
||||
|
||||
Set one or more OCI labels on the network. The format is a list of
|
||||
`key=value` items, similar to `Environment`.
|
||||
|
||||
This key can be listed multiple times.
|
||||
|
||||
### `NetworkDeleteOnStop=` (defaults to `false`)
|
||||
|
||||
When set to `true` the network is deleted when the service is stopped
|
||||
|
||||
### `NetworkName=foo`
|
||||
### `NetworkName=`
|
||||
|
||||
The (optional) name of the Podman network.
|
||||
If this is not specified, the default value is the same name as the unit, but with a `systemd-` prefix,
|
||||
i.e. a `$name.network` file creates a `systemd-$name` Podman network to avoid
|
||||
conflicts with user-managed network.
|
||||
|
||||
@@option quadlet:opt
|
||||
### `Options=`
|
||||
|
||||
@@option quadlet:podman-args
|
||||
Set driver specific options.
|
||||
|
||||
@@option quadlet:subnet
|
||||
This is equivalent to the Podman `--opt` option
|
||||
|
||||
### `PodmanArgs=`
|
||||
|
||||
This key contains a list of arguments passed directly to the end of the `podman network create` command
|
||||
in the generated file (right before the name of the network in the command line). It can be used to
|
||||
access Podman features otherwise unsupported by the generator. Since the generator is unaware
|
||||
of what unexpected interactions can be caused by these arguments, is not recommended to use
|
||||
this option.
|
||||
|
||||
The format of this is a space separated list of arguments, which can optionally be individually
|
||||
escaped to allow inclusion of whitespace and other control characters.
|
||||
|
||||
This key can be listed multiple times.
|
||||
|
||||
### `Subnet=`
|
||||
|
||||
The subnet in CIDR notation.
|
||||
|
||||
This is equivalent to the Podman `--subnet` option
|
||||
|
||||
This key can be listed multiple times.
|
||||
|
||||
# EXAMPLES
|
||||
|
||||
|
||||
@@ -62,7 +62,7 @@ Supported keys in the `[Pod]` section are:
|
||||
|
||||
@@option quadlet:dns-search.container
|
||||
|
||||
### `ExitPolicy=stop`
|
||||
### `ExitPolicy=`
|
||||
|
||||
Set the exit policy of the pod when the last container exits. Default for quadlets is **stop**.
|
||||
|
||||
@@ -70,8 +70,17 @@ To keep the pod active, set `ExitPolicy=continue`.
|
||||
|
||||
@@option quadlet:gidmap.container
|
||||
|
||||
@@option quadlet:global-args
|
||||
### `GlobalArgs=`
|
||||
|
||||
This key contains a list of arguments passed directly between `podman` and `pod`
|
||||
in the generated file. It can be used to access Podman features otherwise unsupported by the generator. Since the generator is unaware
|
||||
of what unexpected interactions can be caused by these arguments, it is not recommended to use
|
||||
this option.
|
||||
|
||||
The format of this is a space separated list of arguments, which can optionally be individually
|
||||
escaped to allow inclusion of whitespace and other control characters.
|
||||
|
||||
This key can be listed multiple times.
|
||||
|
||||
@@option quadlet:hostname.container
|
||||
|
||||
@@ -85,9 +94,19 @@ To keep the pod active, set `ExitPolicy=continue`.
|
||||
|
||||
@@option quadlet:network-alias
|
||||
|
||||
@@option quadlet:podman-args
|
||||
### `PodmanArgs=`
|
||||
|
||||
### `PodName=name`
|
||||
This key contains a list of arguments passed directly to the end of the `podman pod create` command
|
||||
in the generated file. It can be used to access Podman features otherwise unsupported by the generator. Since the generator is unaware
|
||||
of what unexpected interactions can be caused by these arguments, is not recommended to use
|
||||
this option.
|
||||
|
||||
The format of this is a space separated list of arguments, which can optionally be individually
|
||||
escaped to allow inclusion of whitespace and other control characters.
|
||||
|
||||
This key can be listed multiple times.
|
||||
|
||||
### `PodName=`
|
||||
|
||||
The (optional) name of the Podman pod.
|
||||
If this is not specified, the default value is the same name as the unit, but with a `systemd-` prefix,
|
||||
@@ -98,7 +117,7 @@ So, if PodName is set, it must not conflict with any container.
|
||||
|
||||
@@option quadlet:publish
|
||||
|
||||
### `ServiceName=name`
|
||||
### `ServiceName=`
|
||||
|
||||
By default, Quadlet will name the systemd service unit by appending `-pod` to the name of the Quadlet.
|
||||
Setting this key overrides this behavior by instructing Quadlet to use the provided name.
|
||||
|
||||
@@ -43,8 +43,11 @@ $ podman pull oci-archive:/tmp/myimage
|
||||
```
|
||||
|
||||
## OPTIONS
|
||||
#### **--all-tags**, **-a**
|
||||
|
||||
@@option all-tags
|
||||
All tagged images in the repository are pulled.
|
||||
|
||||
*IMPORTANT: When using the all-tags flag, Podman does not iterate over the search registries in the **[containers-registries.conf(5)](https://github.com/containers/image/blob/main/docs/containers-registries.conf.5.md)** but always uses docker.io for unqualified image names.*
|
||||
|
||||
@@option arch
|
||||
|
||||
@@ -66,8 +69,14 @@ Print the usage statement.
|
||||
|
||||
@@option platform
|
||||
|
||||
@@option policy
|
||||
#### **--policy**
|
||||
|
||||
Pull image policy. The default is **always**.
|
||||
|
||||
- `always`: Always pull the image and throw an error if the pull fails.
|
||||
- `missing`: Only pull the image if it could not be found in the local containers storage. Throw an error if no image could be found and the pull fails.
|
||||
- `never`: Never pull the image; only use the local version. Throw an error if the image is not present locally.
|
||||
- `newer`: Pull if the image on the registry is newer than the one in the local containers storage. An image is considered to be newer when the digests are different. Comparing the time stamps is prone to errors. Pull errors are suppressed if a local image was found.
|
||||
|
||||
#### **--quiet**, **-q**
|
||||
|
||||
|
||||
@@ -79,8 +79,17 @@ Specify the volume driver name. When set to `image`, the `Image` key must also b
|
||||
|
||||
This is equivalent to the Podman `--driver` option.
|
||||
|
||||
@@option quadlet:global-args
|
||||
### `GlobalArgs=`
|
||||
|
||||
This key contains a list of arguments passed directly between `podman` and `volume`
|
||||
in the generated file. It can be used to access Podman features otherwise unsupported by the generator. Since the generator is unaware
|
||||
of what unexpected interactions can be caused by these arguments, it is not recommended to use
|
||||
this option.
|
||||
|
||||
The format of this is a space separated list of arguments, which can optionally be individually
|
||||
escaped to allow inclusion of whitespace and other control characters.
|
||||
|
||||
This key can be listed multiple times.
|
||||
|
||||
### `Group=`
|
||||
|
||||
@@ -111,7 +120,18 @@ This key can be listed multiple times.
|
||||
|
||||
The mount options to use for a filesystem as used by the **mount(8)** command `-o` option.
|
||||
|
||||
@@option quadlet:podman-args
|
||||
### `PodmanArgs=`
|
||||
|
||||
This key contains a list of arguments passed directly to the end of the `podman volume create` command
|
||||
in the generated file (right before the name of the volume in the command line). It can be used to
|
||||
access Podman features otherwise unsupported by the generator. Since the generator is unaware
|
||||
of what unexpected interactions can be caused by these arguments, is not recommended to use
|
||||
this option.
|
||||
|
||||
The format of this is a space separated list of arguments, which can optionally be individually
|
||||
escaped to allow inclusion of whitespace and other control characters.
|
||||
|
||||
This key can be listed multiple times.
|
||||
|
||||
### `Type=`
|
||||
|
||||
|
||||
Reference in new issue
Block a user