使用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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM