搭建powerdns
github官方:
https://github.com/PowerDNS/pdns
构建镜像:
git clone https://github.com/PowerDNS/pdns.git cd pdns rmdir builder git clone https://github.com/PowerDNS/pdns-builder.git #修改基础镜像的debian源为阿里云的源,解决构建时候太慢的问题 sed -i '/^FROM debian:/a\RUN sed -i s#deb.debian.org#mirrors.aliyun.com#g /etc/apt/sources.list' Dockerfile-recursor sed -i '/^FROM debian:/a\RUN sed -i s#deb.debian.org#mirrors.aliyun.com#g /etc/apt/sources.list' Dockerfile-auth sed -i '/^FROM debian:/a\RUN sed -i s#deb.debian.org#mirrors.aliyun.com#g /etc/apt/sources.list.d/debian.sources' Dockerfile-dnsdist |
里面有个比较大的安装包需要提前下载:
https://downloads.powerdns.com/rust/rust-1.78.0-x86_64-unknown-linux-gnu.tar.gz
建议修改builder-support/helpers/install_rust.sh
将下载到一个提前准备好的可以快速下载的地址内:
https://file.zhengyu1992.cn/software/rust-1.78.0-x86_64-unknown-linux-gnu.tar.gz
开始构建镜像:
docker build . -t harbor.uenpay.com/base/pdns-recursor:5.0 -f Dockerfile-recursor docker build . -t harbor.uenpay.com/base/pdns-auth:5.0 -f Dockerfile-auth docker build . -t harbor.uenpay.com/base/pdns-dnsdist:5.0 -f Dockerfile-dnsdist |
配置docker-compose.yml
version: '2.0' services: recursor: image: myregistry/recursor:latest environment: - PDNS_RECURSOR_API_KEY ports: - "2053:53" - "2053:53/udp" - "8082:8082" dnsdist: image: myregistry/dnsdist:latest environment: - DNSDIST_API_KEY links: - recursor - auth ports: - "3053:53" - "3053:53/udp" - "5199:5199" - "8083:8083" auth: image: myregistry/auth:latest environment: - PDNS_AUTH_API_KEY ports: - "1053:53" - "1053:53/udp" - "8081:8081" |