思科DevNet思科ACI网络

基于Docker快速搭建DNS Server

2019-01-28  本文已影响575人  TXZQ1899

我们在项目中有时会要使用到DNS服务,比如DNS轮询服务、基于DNS搭建高可用的Eureka注册中心等。

那么如何快速搭建一个测试用的DNS服务器呢?答案就是使用Docker来搭建。
Docker Hub 上搜索:Bind,你会看到 sameersbn/bind 超过百万次下下载,144个Star,点击下面的地址进行搜索:
搜索BIND镜像

接下来我们就基于这个镜像来搭建一个测试用的DNS服务器。

一、下载镜像

docker pull sameersbn/bind

下载bind镜像

下载完成后,我们可以检查一下本地的镜像,可以看到该镜像大小为343MB

docker images

已下载的镜像

二、创建docker网络

关于docker 的网络模式我这里不做过多的阐述。我们这里会创建一个macvlan网络,可以使容器的IP和宿主机IP在同一个网段。这样就可以直接使用容器IP来访问DNS服务了。

我们先来看一下宿主机的网卡信息:可以看到docker0, enp0s3, lo, virbr0:

宿主机IP: enp0s3

其中enp0s3 就是目前宿主机IP对应的网络,接下来我们创建一个macvlan网络:

docker network create -d macvlan --subnet=10.0.10.0/24 --gateway=10.0.10.1 -o parent=enp0s3 appnet

-d 驱动, 这里使用macvlan
--subnet,指定子网
--gateway,指定网关
parent,这里指定宿主机网卡名称
appnet,这是新创建的docker网络名称

docker network ls

Docker网络

docker network inspect appnet

Docker network 详情

三、运行Bind镜像

首先在宿主机上创建一个Bind的数据目录:
mkdir /app/bind
然后运行bind镜像:

docker run -dit --hostname bind --net=appnet --ip=10.0.10.1 --name bind --restart=always --volume /app/bind:/data sameersbn/bind:latest

这里我们使用--net 指定我们刚刚创建的macvlan网络,使用--ip指定一个IP地址
打开浏览器:https://10.0.10.1:10000,输入默认的用户名:root,密码:password,点击左则菜单的Servers,就可以看到我们的DNS服务器已经运行起来了。

BIND DNS Server
上一篇下一篇

猜你喜欢

热点阅读