mirror of
https://github.com/podman-container-tools/podman.git
synced 2026-08-14 04:39:33 +00:00
38 lines
1.9 KiB
Markdown
38 lines
1.9 KiB
Markdown
####> This option file is used in:
|
|
####> podman podman-container.unit.5.md.in, create, podman-kube.unit.5.md.in, 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 >>
|
|
### `PublishPort=[[ip:][hostPort]:]containerPort[/protocol]`
|
|
<< else >>
|
|
#### **--publish**, **-p**=*[[ip:][hostPort]:]containerPort[/protocol]*
|
|
<< endif >>
|
|
|
|
Publish a container's port, or range of ports,<<| within this pod>> to the host.
|
|
|
|
Both *hostPort* and *containerPort* can be specified as a range of ports.
|
|
When specifying ranges for both, the number of container ports in the
|
|
range must match the number of host ports in the range.
|
|
|
|
If host IP is set to 0.0.0.0 or not set at all, the port is bound on all IPs on the host.
|
|
|
|
By default, Podman publishes TCP ports. To publish a UDP port instead, give
|
|
`udp` as protocol. To publish both TCP and UDP ports, set `--publish` twice,
|
|
with `tcp`, and `udp` as protocols respectively. Rootful containers can also
|
|
publish ports using the `sctp` protocol.
|
|
|
|
Host port does not have to be specified (e.g. `podman run -p 127.0.0.1::80`).
|
|
If it is not, the container port is randomly assigned a port on the host.
|
|
|
|
Use **podman port** to see the actual mapping: `podman port $CONTAINER $CONTAINERPORT`.
|
|
|
|
Port publishing is only supported for containers utilizing their own network namespace
|
|
through `bridge` networks, or the `pasta` network mode.
|
|
|
|
For rootless bridge networks, port forwarding uses `rootlessport` by default, which
|
|
is a userspace proxy that does not preserve client source IPs. Setting
|
|
`rootless_port_forwarder="pasta"` in the `[network]` section of
|
|
**[containers.conf(5)](https://github.com/containers/container-libs/blob/main/common/docs/containers.conf.5.md)**
|
|
switches to pasta's kernel-level forwarding via `pesto`, preserving the original
|
|
client IP address inside the container. This option is experimental and its
|
|
behavior is subject to change.
|