问题设置:
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
来做到这一点,但是我对如何在基于容器的生态系统中使用它感到困惑。
答案 0 :(得分:1)
您可以使用docker network aliases选项
您的堆栈.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
注意:请确保从外部公开端口以使用db