51工具盒子

依楼听风雨
笑看云卷云舒,淡观潮起潮落

通过docker配置DNS服务

在办公室开发人员经常会测试所写的页面,每次都要输入对应的IP地址或者更改hosts,为了让开发大爷省心,不如搭建一个dns服务,将所需要测试的网页直接解析成域名,让开发大爷自己选域名,想用啥就用啥,我这里通过docker配置一个dns服务,过程很简单,几分钟就可以搞定,最后只需要改路由中的dns地址即可。

1、安装docker

安装一些依赖
yum install yum-utils device-mapper-persistent-data lvm2

|---|----------------------------------------------------------| | 1 | yum install yum-utils device-mapper-persistent-data lvm2 |

配置仓库
wget -O /etc/yum.repos.d/docker-ce.repo https://download.docker.com/linux/centos/docker-ce.repo

|---|-------------------------------------------------------------------------------------------------| | 1 | wget -O /etc/yum.repos.d/docker-ce.repo https://download.docker.com/linux/centos/docker-ce.repo |

替换仓库地址为清华大学镜像
sed -i 's+download.docker.com+mirrors.tuna.tsinghua.edu.cn/docker-ce+' /etc/yum.repos.d/docker-ce.repo

|---|--------------------------------------------------------------------------------------------------------| | 1 | sed -i 's+download.docker.com+mirrors.tuna.tsinghua.edu.cn/docker-ce+' /etc/yum.repos.d/docker-ce.repo |


yum makecache fast

|---|--------------------| | 1 | yum makecache fast |

安装docker
yum install docker-ce

|---|-----------------------| | 1 | yum install docker-ce |

启动docker
systemctl start docker systemctl enable docker

|-----|------------------------------------------------| | 1 2 | systemctl start docker systemctl enable docker |

2、配置docker镜像加速器

镜像加速器配置参考:https://blog.whsir.com/post-2549.html

3、启动服务
docker run -d -p 53:53/tcp -p 53:53/udp --cap-add=NET_ADMIN --name dns andyshinn/dnsmasq:2.78

|---|-----------------------------------------------------------------------------------------------| | 1 | docker run -d -p 53:53/tcp -p 53:53/udp --cap-add=NET_ADMIN --name dns andyshinn/dnsmasq:2.78 |

4、进入容器开始配置
docker exec -it dns sh

|---|------------------------| | 1 | docker exec -it dns sh |


vi /etc/resolv.conf

|---|---------------------| | 1 | vi /etc/resolv.conf |


nameserver 114.114.114.114 nameserver 223.5.5.5

|-----|-------------------------------------------------| | 1 2 | nameserver 114.114.114.114 nameserver 223.5.5.5 |

设置hosts
vi /etc/dnsmasq.hosts

|---|-----------------------| | 1 | vi /etc/dnsmasq.hosts |


192.168.50.102 www.1.com

|---|--------------------------| | 1 | 192.168.50.102 www.1.com |

修改dnsmasq配置文件
echo "resolv-file=/etc/resolv.conf" >> /etc/dnsmasq.conf

|---|------------------------------------------------------------| | 1 | echo "resolv-file=/etc/resolv.conf" >> /etc/dnsmasq.conf |


echo "addn-hosts=/etc/dnsmasq.hosts" >> /etc/dnsmasq.conf

|---|-------------------------------------------------------------| | 1 | echo "addn-hosts=/etc/dnsmasq.hosts" >> /etc/dnsmasq.conf |

exit退出容器重启

5、重启dns容器
docker restart dns

|---|--------------------| | 1 | docker restart dns |

最后配置个nginx作为验证

只修改server_name www.1.com;

6、Firewall防火墙开启80端口
firewall-cmd --zone=public --add-port=80/tcp --permanent firewall-cmd --reload

|-----|--------------------------------------------------------------------------------| | 1 2 | firewall-cmd --zone=public --add-port=80/tcp --permanent firewall-cmd --reload |

7、配置PC或者路由的DNS即可

配置完成后,先在本机测试下,没有问题,直接改个路由解析

电脑PC配置DNS为192.168.50.102,访问www.1.com,即可看到一个nginx页面

赞(1)
未经允许不得转载:工具盒子 » 通过docker配置DNS服务