dns dnsmasq容器化部署

本文介绍了如何利用jpillora/dnsmasq Docker镜像搭建一个带有UI界面的DNS服务。这个解决方案基于dnsmasq,并通过webproc提供可视化管理。配置包括创建docker-compose文件,设置账户,以及启动和验证服务。通过dig工具进行DNS查询,展示服务运行效果。这是一个简单示例,适合进一步学习和集成。
摘要由CSDN通过智能技术生成

原文:
https://www.cnblogs.com/rongfengliang/p/11498598.html

实际开发中dns 是一个比较重要的组件,一般大家可能会选择使用dnsmasq 但是缺少UI可视化,有些人可能会选择powerdns
jpillora/dnsmasq 是一个对于dnsmasq 的包装,使用了jpillora/webproc 为dnsmasq 暴露一个可视化UI,以下是一个简单的运行
demo

环境准备
docker-compose 文件

 
version: "3"
services:
   dns:
     image: jpillora/dnsmasq
     ports:
     - "53:53/udp"
     - "53:53/tcp"
     - "8080:8080"
 env_file:
 - .env

.env 文件 主要是账户的

HTTP_USER=demo
HTTP_PASS=demo

jpillora/dnsmasq dockerfile
使用alpine 基础镜像,同时对于dnsmqasq 使用alpine 的包管理,使用
webproc 暴露UI服务

dockerfile

FROM alpine:edge
LABEL maintainer="dev@jpillora.com"
# webproc release settings
ENV WEBPROC_VERSION 0.2.2
ENV WEBPROC_URL https://github.com/jpillora/webproc/releases/download/$WEBPROC_VERSION/webproc_linux_amd64.gz
# fetch dnsmasq and webproc binary
RUN apk update \
 && apk --no-cache add dnsmasq \
 && apk add --no-cache --virtual .build-deps curl \
 && curl -sL $WEBPROC_URL | gzip -d - > /usr/local/bin/webproc \
 && chmod +x /usr/local/bin/webproc \
 && apk del .build-deps
#configure dnsmasq
RUN mkdir -p /etc/default/
RUN echo -e "ENABLED=1\nIGNORE_RESOLVCONF=yes" > /etc/default/dnsmasq
COPY dnsmasq.conf /etc/dnsmasq.conf
#run!
ENTRYPOINT ["webproc","--config","/etc/dnsmasq.conf","--","dnsmasq","--no-daemon"]

启动&&效果
启动

docker-compose up  -d

效果

dns 查询
使用dig 工具

dig @localhost www.baidu.com
效果

说明
以上是一个简单运行,更多的学习下集成的方式

参考资料
https://hub.docker.com/r/jpillora/dnsmasq/dockerfile
https://github.com/jpillora/webproc
https://github.com/rongfengliang/jpillora-dnsmasq-docker-compose

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值