这篇文章主要介绍“怎么用Docker快速搭建DNS服务器”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“怎么用Docker快速搭建DNS服务器”文章能帮助大家解决问题。
这里我们使用dnsmasq对应的docker版本docker-dnsmasq。
使用指南
下载镜像
docker pull docker-dnsmasq
创建最简单的配置
#dnsmasq config, for a complete example, see:
# http://oss.segetech.com/intra/srv/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 \
jpillora/dnsmasq
参数说明
名称 | 说明 |
---|
max-size | 日志最大保存 |
http_user | 登录用户名 |
http_pass | 登录密码 |
访问地扯http://localhost:8080
使用admin/admin帐号密码登录。

dnsmasq界面
dns配置
在/etc/resolv.conf文件前面增加下面两句
只增加172.17.205.28 dns会解析失败
nameserver 127.0.0.1 #必填
nameserver 172.17.205.28 #必填[本机主要网卡]
...
测试
本机与其它机子的配置一样
必填要在前面加才会生效,因为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
增加解析
点击保存即可,过几秒可自动生效
address=/h0/172.17.205.28
address=/h1/172.17.205.32
address=/h2/172.17.205.33
address=/h3/172.17.205.34
address=/h4/172.17.205.35
....
注意
建议保持其它机子的hostname与上面的配置一样
否则有可能会出现如下问题
root@asdf ~# ping h0
ping: h0: name or service not known
关于“怎么用Docker快速搭建DNS服务器”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注天达云行业资讯频道,小编每天都会为大家更新不同的知识点。