Git Product home page Git Product logo

docker-dns's Introduction

docker-dns

一个用于根据docker容器name、id、network alias到IP地址对应的小工具,可作为DNS服务器运行

CLI运行

./docker-dns [container name]

作为DNS服务器

./docker-dns -d -s [domain suffix]

域名后缀默认为d.com,比如有容器id:f4505a5420c9,查询f4505a5420c9.d.com即可得到容器的ip,比如:

dig @127.0.0.1 -p5300 f4505a5420c9.d.com

作为系统DNS服务

systemd-resolved

systemd-resolved提供一种叫"routing domains"(路由域)的功能,即匹配一个特定域名后缀,然后向特定DNS服务器发送查询请求。根据此功能,我们可以在docker0接口上设置一个路由域"~d.com",然后指定DNS服务器,就可以提供系统DNS服务

docker build . -t docker-dns
docker run -it --rm -v /run/docker.sock:/run/docker.sock -p 5300:5300/udp docker-dns
sudo resolvectl domain docker0 "~d.com"
sudo resolvectl dns docker0 127.0.0.1:5300

注意,这里必须要求docker中有容器在运行,即docker0接口在工作状态,这套方案才能正常运行。当然你也可以配置到别的在接口上。我目前没有发现systemd-resolved有更好的设置方法,如果你有更好的配置方案,欢迎issue中讨论一下。

docker-dns's People

Contributors

hswift avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.