热门标签 | HotTags
当前位置:  开发笔记 > 运维 > 正文

Docker1分钟搭建DNS服务器的方法

这里我们使用dnsmasq对应的docker版本docker-dnsmasq。 使用指南 下载镜像 docker pull d

这里我们使用dnsmasq对应的docker版本docker-dnsmasq。

使用指南

下载镜像

docker pull docker-dnsmasq

创建最简单的配置/opt/dnsmasq.conf

#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配置

  1. 在/etc/resolv.conf文件前面增加下面两句
  2. 只增加172.17.205.28 DNS会解析失败
nameserver 127.0.0.1     #必填
nameserver 172.17.205.28   #必填[本机主要网卡]
...

测试

  1. 本机与其它机子的配置一样
  2. 必填要在前面加才会生效,因为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
....

注意

  1. 建议保持其它机子的hostname与上面的配置一样
  2. 否则有可能会出现如下问题
root@asdf ~# ping h0
ping: h0: Name or service not known

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


推荐阅读
  • 在Docker中,将主机目录挂载到容器中作为volume使用时,常常会遇到文件权限问题。这是因为容器内外的UID不同所导致的。本文介绍了解决这个问题的方法,包括使用gosu和suexec工具以及在Dockerfile中配置volume的权限。通过这些方法,可以避免在使用Docker时出现无写权限的情况。 ... [详细]
  • docker增加restart=always, docker重启后自动启动容器的方法
    本文介绍了在运行docker容器时如何添加参数来保证每次docker服务重启后容器也自动重启的方法,以及如何使用命令来更新已启动的容器。 ... [详细]
  • 本文介绍了Hyperledger Fabric外部链码构建与运行的相关知识,包括在Hyperledger Fabric 2.0版本之前链码构建和运行的困难性,外部构建模式的实现原理以及外部构建和运行API的使用方法。通过本文的介绍,读者可以了解到如何利用外部构建和运行的方式来实现链码的构建和运行,并且不再受限于特定的语言和部署环境。 ... [详细]
  • 处理docker容器时间和宿主机时间不一致问题的方法
    本文介绍了处理docker容器时间和宿主机时间不一致问题的方法,包括复制主机的localtime到容器、处理报错情况以及重启容器的步骤。通过这些方法,可以解决docker容器时间和宿主机时间不一致的问题。 ... [详细]
  • 本文介绍了在Docker容器技术中限制容器对CPU的使用的方法,包括使用-c参数设置容器的内存限额,以及通过设置工作线程数量来充分利用CPU资源。同时,还介绍了容器权重分配的情况,以及如何通过top命令查看容器在CPU资源紧张情况下的使用情况。 ... [详细]
  • 开发笔记:Docker 上安装启动 MySQL
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了Docker上安装启动MySQL相关的知识,希望对你有一定的参考价值。 ... [详细]
  • 本文探讨了容器技术在安全方面面临的挑战,并提出了相应的解决方案。多租户保护、用户访问控制、中毒的镜像、验证和加密、容器守护以及容器监控都是容器技术中需要关注的安全问题。通过在虚拟机中运行容器、限制特权升级、使用受信任的镜像库、进行验证和加密、限制容器守护进程的访问以及监控容器栈,可以提高容器技术的安全性。未来,随着容器技术的发展,还需解决诸如硬件支持、软件定义基础设施集成等挑战。 ... [详细]
  • 容器管理与容器监控influxDB
    容器管理与容器监控-influxDB什么是influxDBinfluxDB安装(1)下载镜像(2)创建容器(3 ... [详细]
  • 1.脚本功能1)自动替换jar包中的配置文件。2)自动备份老版本的Jar包3)自动判断是初次启动还是更新服务2.脚本准备进入ho ... [详细]
  • (九)Docker常用安装
    一、总体步骤1、搜索镜像2、拉取镜像3、查看镜像4、启动镜像5、停止镜像6、移除镜像二、安装tomcat1、dockerhub上面查找tomcat镜像 dockersearchto ... [详细]
  • 随着我司的应用都开始容器化,相应的ETL流程也需要迁移到容器中。常规的SQL和shell脚本迁移之后执行基本没有问题,主要的问题在于数据接入使用kettle的场景下,kettle启 ... [详细]
  • systemd-nspawn可以创建最轻量级的容器(ns的意思就是namespace),本文的实验平台是Ubuntu16.04,x86_64机器。本文的目的是:在Ubuntu中用syst ... [详细]
  • mysql自动打开文件_让docker中的mysql启动时自动执行sql文件
    本文提要本文目的不仅仅是创建一个MySQL的镜像,而是在其基础上再实现启动过程中自动导入数据及数据库用户的权限设置,并且在新创建出来的容器里自动启动My ... [详细]
  • 现象:[root@localhost~]#dockerrun-d-p9000:80centos:httpdbinsh-cusrlocalbinstart.shd5b2bd5a7bc ... [详细]
  • 本文主要介绍关于linux文件描述符设置,centos7设置文件句柄数,centos7查看进程数的知识点,对【Linux之进程数和句柄数】和【linux句柄数含义】有兴趣的朋友可以看下由【东城绝神】投 ... [详细]
author-avatar
LXY520TB_194
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有