mirror of
https://github.com/containers/podman.git
synced 2025-05-21 00:56:36 +08:00
Document protocol usage for --publish
This also unifies the documentation of `--publish` for `podman create`, `podman run`, and `podman pod create`. Signed-off-by: Daniel Rudolf <github.com@daniel-rudolf.de>
This commit is contained in:
@ -826,22 +826,27 @@ container.
|
|||||||
|
|
||||||
Rootless containers cannot have more privileges than the account that launched them.
|
Rootless containers cannot have more privileges than the account that launched them.
|
||||||
|
|
||||||
#### **--publish**, **-p**=*port*
|
#### **--publish**, **-p**=[[_ip_:][_hostPort_]:]_containerPort_[/_protocol_]
|
||||||
|
|
||||||
Publish a container's port, or range of ports, to the host
|
Publish a container's port, or range of ports, to the host.
|
||||||
|
|
||||||
Format: `ip:hostPort:containerPort | ip::containerPort | hostPort:containerPort | containerPort`
|
|
||||||
Both hostPort and containerPort can be specified as a range of ports.
|
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.
|
When specifying ranges for both, the number of container ports in the
|
||||||
(e.g., `podman run -p 1234-1236:1222-1224 --name thisWorks -t busybox`
|
range must match the number of host ports in the range.
|
||||||
but not `podman run -p 1230-1236:1230-1240 --name RangeContainerPortsBiggerThanRangeHostPorts -t busybox`)
|
|
||||||
With host IP: `podman run -p 127.0.0.1:$HOSTPORT:$CONTAINERPORT --name CONTAINER -t someimage`
|
|
||||||
If host IP is set to 0.0.0.0 or not set at all, the port will be bound on all IPs on the host.
|
If host IP is set to 0.0.0.0 or not set at all, the port will be bound on all IPs on the host.
|
||||||
|
|
||||||
|
By default, Podman will publish 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`).
|
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 will be randomly assigned a port on the host.
|
If it is not, the container port will be randomly assigned a port on the host.
|
||||||
Use `podman port` to see the actual mapping: `podman port CONTAINER $CONTAINERPORT`
|
|
||||||
|
|
||||||
**Note:** if a container will be run within a pod, it is not necessary to publish the port for
|
Use **podman port** to see the actual mapping: `podman port $CONTAINER $CONTAINERPORT`.
|
||||||
|
|
||||||
|
**Note:** If a container will be run within a pod, it is not necessary to publish the port for
|
||||||
the containers in the pod. The port must only be published by the pod itself. Pod network
|
the containers in the pod. The port must only be published by the pod itself. Pod network
|
||||||
stacks act like the network stack on the host - you have a variety of containers in the pod,
|
stacks act like the network stack on the host - you have a variety of containers in the pod,
|
||||||
and programs in the container, all sharing a single interface and IP address, and
|
and programs in the container, all sharing a single interface and IP address, and
|
||||||
|
@ -227,16 +227,30 @@ Set the PID mode for the pod. The default is to create a private PID namespace f
|
|||||||
|
|
||||||
Write the pod ID to the file.
|
Write the pod ID to the file.
|
||||||
|
|
||||||
#### **--publish**=*port*, **-p**
|
#### **--publish**, **-p**=[[_ip_:][_hostPort_]:]_containerPort_[/_protocol_]
|
||||||
|
|
||||||
Publish a port or range of ports from the pod to the host.
|
Publish a container's port, or range of ports, within this pod to the host.
|
||||||
|
|
||||||
Format: `ip:hostPort:containerPort | ip::containerPort | hostPort:containerPort | containerPort`
|
|
||||||
Both hostPort and containerPort can be specified as a range of ports.
|
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.
|
When specifying ranges for both, the number of container ports in the
|
||||||
Use `podman port` to see the actual mapping: `podman port CONTAINER $CONTAINERPORT`.
|
range must match the number of host ports in the range.
|
||||||
|
|
||||||
NOTE: This cannot be modified once the pod is created.
|
If host IP is set to 0.0.0.0 or not set at all, the port will be bound on all IPs on the host.
|
||||||
|
|
||||||
|
By default, Podman will publish 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 will be randomly assigned a port on the host.
|
||||||
|
|
||||||
|
Use **podman port** to see the actual mapping: `podman port $CONTAINER $CONTAINERPORT`.
|
||||||
|
|
||||||
|
**Note:** You must not publish ports of containers in the pod individually,
|
||||||
|
but only by the pod itself.
|
||||||
|
|
||||||
|
**Note:** This cannot be modified once the pod is created.
|
||||||
|
|
||||||
#### **--replace**
|
#### **--replace**
|
||||||
|
|
||||||
|
@ -864,22 +864,27 @@ points, Apparmor/SELinux separation, and Seccomp filters are all disabled.
|
|||||||
|
|
||||||
Rootless containers cannot have more privileges than the account that launched them.
|
Rootless containers cannot have more privileges than the account that launched them.
|
||||||
|
|
||||||
#### **--publish**, **-p**=_ip_:_hostPort_:_containerPort_ | _ip_::_containerPort_ | _hostPort_:_containerPort_ | _containerPort_
|
#### **--publish**, **-p**=[[_ip_:][_hostPort_]:]_containerPort_[/_protocol_]
|
||||||
|
|
||||||
Publish a container's port, or range of ports, to the host.
|
Publish a container's port, or range of ports, to the host.
|
||||||
|
|
||||||
Both hostPort and containerPort can be specified as a range of ports.
|
Both hostPort and containerPort can be specified as a range of ports.
|
||||||
|
When specifying ranges for both, the number of container ports in the
|
||||||
When specifying ranges for both, the number of container ports in the range must match the number of host ports in the range.
|
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 will be bound on all IPs on the host.
|
If host IP is set to 0.0.0.0 or not set at all, the port will be bound on all IPs on the host.
|
||||||
|
|
||||||
|
By default, Podman will publish 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`).
|
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 will be randomly assigned a port on the host.
|
If it is not, the container port will be randomly assigned a port on the host.
|
||||||
|
|
||||||
Use **podman port** to see the actual mapping: **podman port $CONTAINER $CONTAINERPORT**.
|
Use **podman port** to see the actual mapping: `podman port $CONTAINER $CONTAINERPORT`.
|
||||||
|
|
||||||
**Note:** if a container will be run within a pod, it is not necessary to publish the port for
|
**Note:** If a container will be run within a pod, it is not necessary to publish the port for
|
||||||
the containers in the pod. The port must only be published by the pod itself. Pod network
|
the containers in the pod. The port must only be published by the pod itself. Pod network
|
||||||
stacks act like the network stack on the host - you have a variety of containers in the pod,
|
stacks act like the network stack on the host - you have a variety of containers in the pod,
|
||||||
and programs in the container, all sharing a single interface and IP address, and
|
and programs in the container, all sharing a single interface and IP address, and
|
||||||
|
Reference in New Issue
Block a user