首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在坞-组合内设置DNS容器?

如何在坞-组合内设置DNS容器?
EN

Stack Overflow用户
提问于 2016-06-15 22:06:58
回答 1查看 1.2K关注 0票数 1

我认为这可能是一个XY问题,所以我将包括问题的上下文,因为我不知道解决这个问题的最佳方法。

我在AWS上设置了一个kubernetes环境,使我有两个部分,一个是nginx容器,另一个是后端服务(我称之为SvcA)。由于后端服务可以来来去去,所以在我的nginx配置中,我有如下所示:

代码语言:javascript
复制
resolver kube-dns.kube-system.svc.cluster.local valid=60s ipv6=off;

server {
   # stuff
   location / {
       set $backend "SvcA.default.svc.cluster.local:8000";
       proxy_pass http://$backend;
   }
}

此设置在kubernetes上运行良好,但我希望有一种方法在我的本地机器上设置(几乎)完全相同的设置,用于测试/开发,但不需要使用kubernetes的所有开销。我想要做的是将这两个容器(nginx,SvcA)放入一个坞-复合文件中,并让它以这种方式工作。我遇到的问题是,nginx的解析器是硬编码的,是kubernetes上的url,而我认为可能有效的解决方案是有一个容器,即dns,它唯一的条目是将"SvcA.default.svc.cluster.local“指向名称修饰符-组合赋值。

我不确定这是否是解决问题的最佳方法,如果是的话,我对DNS配置还不太了解。这是解决我的问题的最佳方案吗?如果是的话,我将如何配置dns服务器来处理这个问题?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-06-16 13:52:44

我不确定你是否需要dns。

您可以这样做,即使URL是硬编码的(如docker-come.yml)。

代码语言:javascript
复制
version: '2'
services:
  service1:
    ...
   networks:
     back-tier:
       ipv4_address: "172.16.238.10"
  service2:
    ...
    networks:
      back-tier:
        ipv4_adress: "172.16.238.11"
networks:
  back-tier:
    driver: bridge
    ipam:
      driver: default
      config:
      - subnet: 172.16.238.0/24
        gateway: 172.16.238.1

您甚至可以为每个容器设置主机名,等等,您还可以在它们之间建立一个链接。如果您需要它是循环的,您可以使用extra_hosts参数来完成它。

如果你能在这里找到你需要的所有信息:https://docs.docker.com/compose/compose-file/

如果容器在同一个网络上,它们应该能够相互交谈。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37846611

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档