在 Docker Compose 文件中,可以使用
ports
字段将容器内的端口映射到主机上。举个例子,如果你想将容器内的 UDP 端口 12345 映射到主机的端口 54321,你的 Docker Compose 文件可能长这个样子:
version: '3'
services:
myservice:
image: myimage:latest
ports:
- "54321:12345/udp"
这样,你就可以通过主机的端口 54321 访问容器内的 UDP 端口 12345 了。
注意,如果主机上的端口 54321 已被占用,那么这个映射就会失败。你可以使用 -p
或者 --publish
参数指定一个可用的端口来避免冲突。例如,如果你想让 Docker 自动分配一个可用的端口,可以这样写:
ports:
- "54321:12345/udp"
- "0:12345/udp"
这样,Docker 会自动分配一个可用的端口来作为映射端口,并且你也可以通过 docker-compose port
命令查看这个映射端口是多少。
希望这个回答能帮到你。如果你还有其他问题,请随时追问。