Published Mar 16, 2022
[
 
]
Expose ports
network_mode: host
docker-compose run
ignores ports
unless you include --service-ports
.There are three options:
HOST:CONTAINER
)IPADDR:HOSTPORT:CONTAINERPORT
). if HOSTPORT
is
empty (for example 127.0.0.1::80
), an ephemeral port is chosen to bind to on
the host.
HOST:CONTAINER
format, you may experience
erroneous results when using a container port lower than 60, because YAML
parses numbers in the format xx:yy
as a base-60 value. For this reason, we
recommend always explicitly specifying your port mappings as strings.ports:
- "3000"
- "3000-3005"
- "8000:8000"
- "9090-9091:8080-8081"
- "49100:22"
- "127.0.0.1:8001:8001"
- "127.0.0.1:5000-5010:5000-5010"
- "127.0.0.1::5000"
- "6060:6060/udp"
- "12400-12500:1240"
The long form syntax allows the configuration of additional fields that can’t be expressed in the short form, The long syntax is new in the v3.2 file format.
target
: the port inside the containerpublished
: the publicly exposed portprotocol
: the port protocol (tcp
or udp
)mode
: host
for publishing a host port on each node, or ingress
for a
swarm mode port to be load balanced.ports:
- target: 80
published: 8080
protocol: tcp
mode: host