接上篇 docker-bind 的使用搭建了一个 dns 服务,本篇将介绍另外一款 DnsServer 的部署和使用,更专注,更轻量。
本篇文章基于 Docker V24 及 Docker Compose V2,安装可以参考之前的文章
technitium/dns-server:11.4.1
devops666
./data:/data
docker network create devopsnetwork
)net.ipv4.ip_local_port_range=1024 65000
docker compose up -d
即可version: '3.1'
services:
dns-server:
container_name: dns_server_11_4
hostname: dns-server
restart: always
image: technitium/dns-server:11.4.1
ports:
- "5380:5380/tcp" #DNS web console (HTTP)
# - "53443:53443/tcp" #DNS web console (HTTPS)
- "53:53/udp" #DNS service
- "53:53/tcp" #DNS service
environment:
- TZ=Asia/Shanghai
- DNS_SERVER_LOG_USING_LOCAL_TIME=true
- DNS_SERVER_DOMAIN=dns-server #The primary domain name used by this DNS Server to identify itself.
- DNS_SERVER_ADMIN_PASSWORD=devops666 #DNS web console admin user password.
sysctls:
- net.ipv4.ip_local_port_range=1024 65000
volumes:
- ./data:/etc/dns
networks:
- devopsnetwork
networks:
devopsnetwork:
external: true
部署机器 IP:192.168.123.214
容器中资源占用情况
和上文一样,需求是需要配置 dns 以将 test.com 解析到 192.168.123.214 中
192.168.123.214
以及 114.114.114.114
(不然无法访问其他网站)
可能存在dns缓存,使用 ipconfig /flushdns
刷新即可
需要同时设置环境变量TZ=Asia/Shanghai
及DNS_SERVER_LOG_USING_LOCAL_TIME=true
才生效,设置后会将设置中的日志配置 Use Local Time默认勾选
可能需要使用 ipconfig /flushdns
清理dns缓存
TZ=Asia/Shanghai
及DNS_SERVER_LOG_USING_LOCAL_TIME=true
才生效ipconfig /flushdns
基于DNS服务,还可以做很多,比如自动 https,但是没有研究成功,后面可能会结合真实的自有域名来实现。 预告下篇呕心沥血之作,Nexus3 管理私有 nuget,docker,走过路过不要错过~