docker - 容器内 docker 主机的自定义主机名
问题描述
我的公司最近开始对我们的一些服务进行 docker 化,以便由 dev 中的其他团队进行开发。几个服务与主应用程序对话,主应用程序不会在 docker 中运行,因为这是人们主要开发的对象。这些服务必须通过主机名进行通信;单独的 IP 地址和端口不起作用,因为我们使用子域来确定用户正在与之交谈的帐户。
我知道 docker 公开docker.host.internal
了与主机的通信,但我们需要能够指定该主机名,所以这还不够。
我尝试设置一个自定义网络并将其应用于需要回复以获取静态主机 ip 的服务,然后使用 extra_hosts 字段来指定主机名,但还没有达到我可以卷曲该静态的地步来自容器内的 ip。
这是我们的大纲docker-compose.yml
networks:
local:
driver: bridge
ipam:
driver: default
config:
- subnet: 10.0.0.0/24
gateway: 10.0.0.1
services:
myservice:
build:
context: ../myservice
networks:
- local
extra_hosts:
- "myaccount.mycompany.io:10.0.0.1"
在主机上,我们有一个 haproxy 设置来将主机路由到正确的端口。
从 myservice 容器中,curl 10.0.0.1
都curl myaccount.mycompany.io
无法解决,但curl docker.host.internal
确实如此。
关于这个设置或我们可以采取的其他方法有什么问题?
谢谢一堆
解决方案
推荐阅读
- c# - 为什么带有protobuf的redis将空数组保存为null?
- python - 如何将一维卷积神经网络用于非图像数据
- oracle12c - 合并Oracle中两个表的数据集
- c# - 一个关于 try-catch 和 multi-catch 的基本问题
- c# - 从 json 数组中读取特定数据
- rxjs - 订阅包含 TakeUntil 的管道失败
- reactjs - 无法覆盖 Fab 禁用的颜色材料 - ui
- acumatica - 显示从网格 Acumatica 上的文件上传的图像
- jsonix - 强制 jsonix 输出 xsi:type 属性
- android - 打开初始片段时获取 KotlinNullPointerException