如何用docker在5分钟搭建完DNS服务器?

概述

大家有没有想过在自己的服务器上使用a.com就访问自己指定的IP,虽然使用本地hosts文件也可以实现,但是如果在当下的集群服务环境下呢?你也想挑战管理那么多IP地扯池吗?下面我们使用dnsmasq对应的docker版本docker-dnsmasq。


搭建过程

下载镜像

docker pull docker-dnsmasq

创建最简单的配置/opt/dnsmasq.conf

#dns解析日志
log-queries
#定义主机与IP映射
address=/h0/172.17.205.28
address=/h1/172.17.205.32

运行容器

docker run --name dnsmasq -d -p 53:53/udp -p 8080:8080 -v /opt/dnsmasq.conf:/etc/dnsmasq.conf --log-opt max-size=100m -e HTTP_USER=admin -e HTTP_PASS=admin --restart always hwb/dnsmasq

参数说明

如何用docker在5分钟搭建完DNS服务器?

访问地扯http://localhost:8080(admin/admin)

如何用docker在5分钟搭建完DNS服务器?


DNS配置

在/etc/resolv.conf文件前面增加下面两句

只增加172.17.205.28 DNS会解析失败

如何用docker在5分钟搭建完DNS服务器?


测试

1、本机与其它机子的配置一样

2、必填要在前面加才会生效,因为DNS解析会从上往下解析

root@center ~# ping h1
PING h1 (172.17.205.32) 56(84) bytes of data.
64 bytes from 172.17.205.32 (172.17.205.32): icmp_seq=1 ttl=64 time=0.155 ms
64 bytes from 172.17.205.32 (172.17.205.32): icmp_seq=2 ttl=64 time=0.203 ms
^C
--- h1 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1000ms
rtt min/avg/max/mdev = 0.155/0.179/0.203/0.024 ms

增加解析

点击保存即可,过几秒可自动生效

如何用docker在5分钟搭建完DNS服务器?

注意:建议保持其它机子的hostname与上面的配置一样,否则有可能会出现如下问题

如何用docker在5分钟搭建完DNS服务器?


后面小编会分享更多devops干货,感兴趣的朋友可以关注下~

如何用docker在5分钟搭建完DNS服务器?

相关推荐