Mad*_*kar 2 docker dockerfile docker-compose
我想要完成的一件事是我有一个从容器公开的端口(8001)。我想将此容器端口映射到主机端口。但我想将此主机端口设置为从给定端口范围(8081-8089)中随机选择的端口。下面是语法
ports:
- "8081-8089:8001"
Run Code Online (Sandbox Code Playgroud)
如果我使用 docker-compose v1.29.2 ,它会按预期工作(选择给定范围内的单个随机端口)。但是当我尝试使用 docker-compose v2 时,它不会映射单个端口,而是在给定范围(8081-8089)的所有端口上运行容器。
我在 Docker 文档中找不到执行此操作的方法。我们是否有任何标志可以在 docker-compose v2 中启用此功能?或者 docker compose v2 不支持它?
一般来说,Linux 中没有办法做到这一点。您可以要求操作系统使用特定端口,也可以要求操作系统为您选择一个端口,但您不能限制自动选择的端口。
在 Compose 上下文中,您可以省略主机端口,让操作系统选择端口
ports:
- "8001" # container port only
Run Code Online (Sandbox Code Playgroud)
您需要使用它docker-compose port来找出端口号的实际值。这将是任何空闲端口号,并且无法将其限制在特定范围内。
| 归档时间: |
|
| 查看次数: |
5587 次 |
| 最近记录: |