【问题标题】:Docker - alias DNS entry (CNAME) for servicesDocker - 服务的别名 DNS 条目 (CNAME)
【发布时间】:2018-12-06 00:41:59
【问题描述】:

问题设置:

  • 码头工人群
  • 3 个服务正在运行:service-somethingservice-anotherservice-database
  • service-somethingservice-another 使用 service-database 存储数据,如 mongodb://service-database/blahblah

我想要什么:

我想用mongodb://my-special-host/blahblah代替mongodb://service-database/blahblah

理想情况下,我想要某种 CNAME,其中 my-special-host 解析为 service-database。这样我就可以将这个条目更新为service-new-database,我所有的消费者服务都将使用新的数据库。

我知道我可以在普通 linux 上使用 dnsmasq 做到这一点,但我很困惑如何在容器基础生态系统中使用它。

【问题讨论】:

    标签: docker networking dns docker-swarm dnsmasq


    【解决方案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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-04-16
      • 1970-01-01
      • 2017-05-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-03-18
      • 1970-01-01
      相关资源
      最近更新 更多