问题设置:
service-something
和 service-another
和 service-database
service-something
和 service-another
使用 service-database
来存储数据,如 mongodb://service-database/blahblah
我想要的:
而不是
mongodb://service-database/blahblah
我想使用 mongodb://my-special-host/blahblah
理想情况下,我想要某种 CNAME,其中
my-special-host
解析为 service-database
。这样我就可以将此条目更新为 service-new-database
,并且我的所有消费者服务都将使用新数据库。
我知道我可以在普通 Linux 上使用
dnsmasq
来完成此操作,但我很困惑如何在容器基础生态系统中使用它。
您可以使用docker网络别名选项
在你的堆栈
.yml
文件中:
version: '3.4'
services:
service-database:
image: postgres:9.5.16-alpine
networks:
default:
aliases:
- my-special-host
如果您想在主机上使用相同的主机名,请将其添加到您的
/etc/hosts
文件中:
127.0.0.1 my-special-host
注意:确保公开端口以从外部使用数据库