![](/img/trans.png)
[英]How do I both expose the port on a container to the local host AND bind persistent data to the container?
[英]How do I expose port to host's ephemeral port and bind it to localhost
Docker 撰写问题(任何版本都可以)
我需要将容器中的端口 60000 暴露给主机的临时(随机)端口,并将其仅绑定到 localhost。
句法
ports:
- 60000
导致 0.0.0.0:32XXX 端口暴露。
语法- "127.0.0.1:YYYY:60000"
需要我设置 static 主机端口 (YYYY)
我知道我可以绑定 docker 守护程序以仅在 localhost 上侦听,但这对我来说并不适用,因为我需要另一个容器来侦听 0.0.0.0
如果您显示的语法不起作用,则 Docker Compose 3.7 无法执行此操作(但它可能是一个相当简单的 GitHub 拉取请求来添加它)。 (另请注意,此语法记录在docker run
文档中;这只是 Compose 中的一个解析问题。)
最好的解决方法可能是自己选择一个“公共”端口。 如果您尝试调整围绕docker run -p 127.0.0.1::60000
甚至docker run -P
构建的工作流程,那将更加棘手。
Docker Compose 的实际源代码位于 GitHub docker docker/compose
存储库中。 这包括docker-compose.yml
文件的配置模式,以及处理ports:
内容的ServicePort.parse
方法:. 似乎字符串的parse
方法不支持丢失的已发布端口(我不确定为什么),并且架构不允许external_ip:
长语法选项。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.