This commit does the following: - Splits the podman-systemd.unit.5.md into multiple files - one for each quadlet file type. - Adds the podman-quadlet-basic-usage.7.md for quadlet examples. - Majority of the text in the new files is copied from the podman-systemd.unit.5.md - Adds support for very simple condditional in the markdown_preprocess. - Uses new logic in markdown_preprocess in options/*.md to use a single .md file for both podman subcommands man-pages and quadlet man-pages. This deduplicates the Quadlet man-pages a lot. - Adds new `@@option quadlet:source.md`` preprocess command to import such .md files from options directory. Signed-off-by: Jan Kaluza <jkaluza@redhat.com>
2.7 KiB
####> This option file is used in: ####> podman podman-container.unit.5.md.in, create, pod create, podman-pod.unit.5.md.in, run ####> If file is edited, make sure the changes ####> are applicable to all of those. << if is_quadlet >>
IP=IPv4
<< else >>
--ip=IPv4
<< endif >>
Specify a static IPv4 address for the <<container|pod>>, for example 10.88.64.128. This option can only be used if the <<container|pod>> is joined to only a single network - i.e., << 'Network=network-name' if is_quadlet else '--network=network-name' >> is used at most once - and if the <<container|pod>> is not joining another container's network namespace via << 'Network=container:id' if is_quadlet else '--network=container:id' >>. The address must be within the network's IP address pool (default 10.88.0.0/16).
<< if is_quadlet >>
To specify multiple static IP addresses per <<container|pod>>, set multiple networks using
the Network= option with a static IP address specified for each using the ip mode for that option.
<< else >>
To specify multiple static IP addresses per <<container|pod>>, use the --network option with multiple comma-separated ip values:
--network mynet:ip=10.88.0.10,ip=10.88.0.11,ip=10.88.0.12
This assigns multiple static IPv4 addresses (10.88.0.10, 10.88.0.11, 10.88.0.12) to the same network interface.
Multi-Subnet Networks: When a network has multiple subnets, you can assign IPs from different subnets to the same <<container|pod>>. The IPs will be applied to a single network interface, with the first IP as primary and additional IPs as secondary addresses.
IP Assignment Order: For multi-subnet networks, IPs are grouped and ordered by their corresponding subnet, following the order in which subnets were defined during network creation (via --subnet flags). The order you specify IPs in the command does not affect the final assignment order. For example:
podman network create --subnet 10.89.0.0/24 --subnet 10.90.0.0/24 mynet
podman run --network mynet:ip=10.90.0.20,ip=10.89.0.10,ip=10.89.0.11 alpine
Results in IPs ordered by subnet: 10.89.0.10 (primary), 10.89.0.11 (secondary), 10.90.0.20 (secondary), since 10.89.0.0/24 was defined first.
Dynamic Allocation: If fewer IPs are specified than available subnets, the remaining subnets will receive dynamically allocated IPs. Dynamic IPs are assigned in subnet order after all static IPs are applied.
Example with multi-subnet network:
podman network create --subnet 10.89.0.0/24 --subnet 10.90.0.0/24 mynet
podman run --network mynet:ip=10.89.0.10,ip=10.90.0.20 alpine
This configures eth0 with 10.89.0.10 (primary) and 10.90.0.20 (secondary). << endif >>