docker dnsmasq詳解
1、官方地址
https://github.com/andyshinn/docker-dnsmasq
https://hub.docker.com/r/andyshinn/dnsmasq/
docker pull andyshinn/dnsmasq:2.75
docker pull andyshinn/dnsmasq:2.78 最新版
使用此命令下載
docker pull andyshinn/dnsmasq
端口前ip可加可不加(有時執行后有問題)
docker run -d -p 192.168.0.81:53:53/tcp -p 192.168.0.81:53:53/udp --cap-add=NET_ADMIN --name dns-server andyshinn/dnsmasq
可以執行這條
docker run -d -p 53:53/tcp -p 53:53/udp --cap-add=NET_ADMIN --name dns andyshinn/dnsmasq
在宿主機上創建邏輯卷映射的目錄,把基礎鏡像啟動的容器的dnsmasq.conf文件拷貝到宿主機對應的路徑下:
[root@develop_mysql_redis dnsmasq]# docker cp e09ff9a5d7d8:/etc/dnsmasq.conf .
刪除容器中的文件dnsmasq.conf 和目錄dnsmasq.d,之后把此基礎容器封裝成鏡像dnsmasq。
使用封裝的鏡像啟動容器:
docker run -d -p 53:53/tcp -p 53:53/udp -v /data/dnsmasq/dnsmasq.d/:/etc/dnsmasq.d/ -v /data/dnsmasq/dnsmasq.conf:/etc/dnsmasq.conf --cap-add=NET_ADMIN --name dns-server --restart=always dnsmasq
注意: /etc/dnsmasq.conf要刪掉否則映射修改沒效果!!!!
配置文件可以單個映射進去
wilker@ubuntu:~/Desktop/a_dns$ docker run -d \
-p 192.168.1.102:53:53/tcp \
-p 192.168.1.102:53:53/udp \
-v /home/wilker/Desktop/a_dns/my_dnsmasq_hosts:/etc/my_dnsmasq_hosts \
-v /home/wilker/Desktop/a_dns/my_resolv.dnsmasq:/etc/my_resolv.dnsmasq \
--cap-add=NET_ADMIN \
--name my_dns_server \
andyshinn/dnsmasq
vim /etc/sysctl.conf可改可不改
net.ipv4.ip_forward = 1
進入到啟動的容器中:
docker exec -it dns-server /bin/sh
/ # vi /etc/resolv.dnsmasq
nameserver 114.114.114.114
nameserver 8.8.8.8
/ # vi /etc/dnsmasqhosts
192.168.0.80 master
192.168.0.81 slave
/ # vi /etc/dnsmasq.conf
#listen-address=127.0.0.1,192.168.0.80
resolv-file=/etc/resolv.dnsmasq
addn-hosts=/etc/dnsmasqhosts
[root@master ~]# docker restart dns-server
宿主機和其他局域網內機器配置
vim /etc/resolv.conf
nameserver 192.168.0.81這個一定要放在最上面
yum install bind-utils -y
nslookup測試解析
https://www.linuxidc.com/Linux/2016-08/134538.htm
https://www.linuxidc.com/Linux/2013-04/82073.htm
https://www.linuxidc.com/Linux/2016-08/134538.htm
https://coolex.info/blog/511.html
http://blog.csdn.net/yangxuan0261/article/details/74907034