首页 > 其他分享 >docker安装配置dnsmasq

docker安装配置dnsmasq

时间:2024-11-07 16:22:55浏览次数:1  
标签:容器 8080 -- dnsmasq dns docker 安装

docker下载安装
参考:docker安装、卸载、配置、镜像
如果是低版本的额ubuntu,比如ubuntu16.04.7 LTS,为了加快下载速度,参考:Ubuntu16.04LTS安装Docker。

docker安装dnsmasq
下载dnsmasq镜像
首先镜像我们可以选择带web页面的,也可选择不带的,这里选择带web也免的,方便不懂技术的人配置。

docker pull jpillora/dnsmasq
1
提前创建docker容器【dnsmasq】的外部挂载文件,避免频繁进入容器内部;

$sudo vim /opt/dnsmasq.conf
1
配置dnsmasq
# 解析日志
log-queries
no-resolv
# DNS解析服务器地址
server=114.114.114.114
server=8.8.8.8
server=8.8.4.4
# 定义自己的主机与ip映射,多个配置多个,这里是示例四个
address=/gitlab.congco.com/192.168.9.151
address=/db.keeep.com/192.168.9.100
address=/tbase.keeep.com/192.168.9.123
address=/keeep.com/192.168.9.123 # 解析*.keeep.com
1
2
3
4
5
6
7
8
9
10
11
12
解决53端口占用问题
在启动dnsmasq容器之前,我们需要先检查一下53端口有没有被占用;

lsof -i:53
1
之后大概会有三种情况:

提示被systemd-resolved服务占用,解决办法:
sudo systemctl disable systemd-resolved.service
sudo systemctl stop systemd-resolved
1
2
提示被系统自带的dnsmasq占用,解决办法:
vim /etc/NetworkManager/NetworkManager.conf

注释dns=dnsmasq
#dns=dnsmasq

然后保存,最后重启network-manager即可

sudo restart network-manager
1
2
3
4
5
6
7
8
无占用,直接运行
运行dnsmasq容器
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

其中HTTP_USER和HTTP_PASS代表之后登录dns的web管理页面需要用到的账号密码,可自定义。
8080端口代表web的访问地址端口,可自定义前边的8080。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
不带换行的命令

docker run --name dnsmasq -d -p 53:53/udp -p 8080:8080 -v /dnsmasq.conf:/etc/dnsmasq.conf --log-opt "max-size=100m" -e "HTTP_USER=admin" -e "HTTP_PASS=123456" --restart always jpillora/dnsmasq
1
web管理页面
输入IP 端口即可打开页面,比如:10.109.2.8:8080,这个IP就是装有dnsmasq的主机地址,端口就是前边启动dnsmasq容器所映射的web端口。


测试
之后其他的主机或者移动设备,都可以将本地的dns配置成刚才安装dnsmasq的主机地址了;
比如:

Linux
vim /etc/resolv.conf
nameserver 127.0.0.1 #必填
nameserver 172.17.0.7 #必填[dns所在的本机主要网卡]
1
2
3
windows


macOS

移动设备

有的移动设备叫dns,有的叫域名1 域名2。
注意:上边的截图都是在网上截图的,所以看起来配置的dns地址不太一样,不影响,只需要记住DNS地址必须是安装dnsmasq服务器的IP
扩展-配置docker的DNS
当然如果我们没有其他主机或者设备,那么我们可以直接用dokcer容器来测试,容器其实也是一个完整独立的主机。

sudo vim /etc/docker/daemon.json
1
{
"dns":["dns服务所在的ip地址"]
}
1
2
3
重启docker

sudo systemctl restart docker
1
进入启动中的容器内部,随便一个容器即可

docker exec -it [容器名称] bash #不同系统不同容器可能进入命令不一样

ping staticmed.keeep.com #上边配置的IP映射的域名
1
2
3
能ping通即表示成功。
————————————————

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

原文链接:https://blog.csdn.net/zwjzone/article/details/136797061

 

 

文章来源https://blog.csdn.net/zwjzone/article/details/136797061

标签:容器,8080,--,dnsmasq,dns,docker,安装
From: https://www.cnblogs.com/angryprogrammer/p/18532634

相关文章

  • kservert安装部署
    1.版本要求KubernetesVersionRecommendedIstioVersion1.271.18,1.191.281.19,1.201.291.20,1.212.安装istio,certmanager(master1)#安装istio wgethttps://github.com/istio/istio/releases/download/1.23.3/istioctl-1.23.3-linux-a......
  • Windows 下使用 CMake 安装 Acado
    官方安装教程:Windowsinstallation(1)下载CMake,VisualStudio,Gnuplot,Doxygen,Graphviz,Python,安装路径示例如下:D:\Tools\CodeTools\CMakeD:\Tools\CodeTools\VisualStudioD:\Tools\CodeTools\Gnuplot\gnuplotD:\Tools\CodeTools\Doxygen\doxygenD:\Tools\Co......
  • 25源码编译安装软件
    每天五分钟学Linux|第二十五课:源码编译安装软件大家好!欢迎再次来到我们的“每天五分钟学Linux”系列教程。在前面的课程中,我们学习了如何使用软件包管理工具来查找、安装、更新和卸载软件包。今天,我们将探讨另一种安装软件的方式——通过源码编译来安装软件。这种方法允......
  • 在Debian12上安装mysql 8.0
    从deb安装默认是区分大小写的一、安装过程请参考:https://www.cnblogs.com/sunshine-sm/p/18030729设置为不区分大小写,请参考https://www.cnblogs.com/binli33/p/18531992二、常用命令mysql-uroot-papt-get--purgeautoremovemysql-serversystemctlstart......
  • Anaconda超详细下载安装教程(附安装包)
    文章目录一、下载二、安装Anaconda1.解压下载的安装包2.开始安装3.测试配置是否成功4.其他问题1.查看Anaconda版本2.查看当前是否可以使用python一、下载Anaconda安装包下载:https://pan.quark.cn/s/ae29fb506730(直接下载,解压安装即可)二、安装Anaconda1.解压下......
  • AI绘画本地版ComfyUI终于来了!(一键整合包,免安装更方便)附各种工作流及模型文件1000张工
    前言:comfyUI自从面世以来,就以一种潜力股的姿态快速流行了起来,越来越多的小伙伴开始使用comfyUI。也许你一开始会被comfyUI密密麻麻的“线路”吓到,但其实comfyUI也没那么复杂,并且好处多多。今天给大家分享一下AI绘画进阶工具ComfyUI,作为StableDiffusionWebUI的进阶版工......
  • ubuntu 系统安装 node 及 nvm node 版本管理工具
    ubuntu系统安装node及nvmnode版本管理工具 转载至https://www.cnblogs.com/flying--pig/p/17492342.html1.gitclone远程镜像1gitclonehttps://gitee.com/mirrors/nvm2.安装nvm 1bashinstall.sh3.刷......
  • win11中使用docker-nacos连接容器中的mysql实例记录
     二.方式11.拉取nacosdockerpullnacos/nacos-server2.在dockerdesktop中进行配置如下图相比较’方式2‘这种方式更简单,mysqlip地址需要使用ipv4地址,具体的自己查看ipconfig的ipv4地址(注意:localhsot/127.0.0.1/容器名称都是不行的)下面这几个参数在application.proper......
  • Centos7.8静默安装企业版Oracle11g和创建实例
    1、安装环境准备:A、系统版本和oracle11g企业版安装软件压缩包:[root@dbprimary07~]#cat/etc/redhat-releaseCentOSLinuxrelease7.8.2003(Core)[root@dbprimary07~]#uname-aLinuxdbprimary073.10.0-1127.el7.x86_64#1SMPTueMar3123:36:51UTC2020x86_64x......
  • Windows安装管理多个NodeJS版本
    下载nvm管理工具,下载完成解压安装https://github.com/coreybutler/nvm-windows/releases选择nvm安装位置选择nvm安装node版本的安装位置如果提示你已经安装的有nodejs,提示你是否通过nvm管理nodejs,选择是,继续安装即可Win+R打开cmd命令窗口nvm-v查看安装的nv......