正如标题所说,我需要能够检索 docker 主机的 IP 地址和从主机到容器的端口映射,并在容器内执行此操作。
原文由 xiamx 发布,翻译遵循 CC BY-SA 4.0 许可协议
正如标题所说,我需要能够检索 docker 主机的 IP 地址和从主机到容器的端口映射,并在容器内执行此操作。
原文由 xiamx 发布,翻译遵循 CC BY-SA 4.0 许可协议
从 18.03 版本开始,您可以使用 host.docker.internal
作为主机的 IP。
适用于 Mac 的 Docker、Windows 的 Docker 以及其他平台。
这是 Mac 专用的 docker.for.mac.localhost
的更新,自版本 17.06 起可用,而 docker.for.mac.host.internal
自版本 17.12 起可用,它们也可能在该平台上仍然有效。
请注意,与 Mac 和 Windows 文档中一样,这仅用于开发目的。
例如,我在主机上设置了环境变量:
MONGO_SERVER=host.docker.internal
在我的 docker-compose.yml
文件中,我有这个:
version: '3'
services:
api:
build: ./api
volumes:
- ./api:/usr/src/app:ro
ports:
- "8000"
environment:
- MONGO_SERVER
command: /usr/local/bin/gunicorn -c /usr/src/app/gunicorn_config.py -w 1 -b :8000 wsgi
原文由 aljabear 发布,翻译遵循 CC BY-SA 4.0 许可协议
2 回答2.4k 阅读✓ 已解决
2 回答800 阅读✓ 已解决
1 回答1.4k 阅读✓ 已解决
2 回答1.4k 阅读
1 回答1.6k 阅读
2 回答1.2k 阅读
1 回答965 阅读
正如@MichaelNeale 所注意到的,在
Dockerfile
中使用这种方法是没有意义的(除非我们只在构建期间需要这个 IP),因为这个 IP 将在构建期间被硬编码。