这里我们使用dnsmasq对应的docker版本docker-dnsmasq。
使用指南
下载镜像
1
|
docker pull docker-dnsmasq |
创建最简单的配置/opt/dnsmasq.conf
1
2
3
4
5
6
7
8
|
#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 ... |
运行容器
1
2
3
4
5
6
7
8
9
10
11
|
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会解析失败
1
2
3
|
nameserver 127.0.0.1 #必填 nameserver 172.17.205.28 #必填[本机主要网卡] ... |
测试
- 本机与其它机子的配置一样
- 必填要在前面加才会生效,因为dns解析会从上往下解析
1
2
3
4
5
6
7
8
|
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 |
增加解析
点击保存即可,过几秒可自动生效
1
2
3
4
5
6
|
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与上面的配置一样
- 否则有可能会出现如下问题
1
2
|
root@asdf ~# ping h0 ping: h0: name or service not known |
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。
原文链接:http://www.jianshu.com/p/97e8c73e01ba