Docker - 服务的别名 DNS 条目 (CNAME)

问题描述 投票:0回答:1

问题设置:

  • Docker 群
  • 3 个服务正在运行:
    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 network-programming dns docker-swarm dnsmasq
1个回答
3
投票

您可以使用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

注意:确保公开端口以从外部使用数据库

© www.soinside.com 2019 - 2024. All rights reserved.