godns 集成coredns 的demo

以下是一个简单的集成coredns,主要是一个集成方案,测试下功能

环境准备

  • docker-compose 文件
version: "3"
services:
   redis:
      image: redis
      ports:
         - "6379:6379"
      networks:
         service1_net:
            ipv4_address: 192.168.1.2
   joke:
      image: dalongrong/godns:joke
      build:
         context: ./
         dockerfile: ./Dockerfile-joke
      networks:
         service1_net:
            ipv4_address: 192.168.1.3
      ports:
         - "1223:1223"
   godns:
      image: dalongrong/godns
      build:
         context: ./
         dockerfile: ./Dockerfile-godns
      networks:
         service1_net:
            ipv4_address: 192.168.1.4
   coredns:
      image: coredns/coredns:1.7.0
      networks:
         service1_net:
            ipv4_address: 192.168.1.5
      volumes:
         - "./Corefile:/opt/Corefile"
      command: -conf /opt/Corefile
      ports:
         - "53:53/udp"
         - "53:53/tcp"
networks:
   service1_net:
      ipam:
         driver: default
         config:
            - subnet: 192.168.1.0/16
dalongrong.com:53 {
   log
   health
   cache 30
   forward  . 192.168.1.4
}

.:53 {
   log
   health
   cache 30
   loadbalance round_robin
   forward  . 8.8.8.8 8.8.4.4 114.114.114.114
}
 
  • 启动
docker-compose up -d
  • redis key 添加
    默认的hash key
 
hset godns:hosts dalongrong.com 192.168.0.109

测试试用

  • uii

 

 

 

  • 添加解析

 

 

 

  • 解析测试
    dig baidu
 
dig @127.0.0.1 baidu.com
 

 

 


dalongrong.com

 

 

说明

以上是一个简单的集成试用,实际上我们还是可以做好多扩展的

参考资料

https://github.com/kenshinx/godns
https://github.com/coredns/coredns
https://github.com/rongfengliang/godns-joke-learning/tree/coredns

posted on 2020-06-27 22:54  荣锋亮  阅读(474)  评论(0编辑  收藏  举报

导航