使用jpillora/dnsmasq 提供可视化管理的dns server

实际开发中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服务
 
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

posted on   荣锋亮  阅读(3709)  评论(0编辑  收藏  举报

编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
历史上的今天:
2018-09-10 grandstack graphql 工具基本试用
2018-09-10 grandstack 基于graphql&&react&& apollo&& neo4j 的全栈开发工具

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示