...
Code Block |
---|
git clone https://github.com/PowerDNS/pdns.git cd pdns rmdir builder git clone https://github.com/PowerDNS/pdns-builder.git #修改基础镜像的debian源为阿里云的源,解决构建时候太慢的问题 awksed -i '/^FROM debian:/a\RUN sed -i s#deb.debian.org#mirrors.aliyun.com#g /etc/ {print; print "apt/sources.list' Dockerfile-recursor sed -i '/^FROM debian:/a\RUN sed -i \'s@debs#deb.debian.org@mirrorsorg#mirrors.aliyun.com@g\'com#g /etc/apt/sources.list"; print "' Dockerfile-auth sed -i '/^FROM debian:/a\RUN sed -i \'s@securitys#deb.debian.org@mirrorsorg#mirrors.aliyun.com@g\'com#g /etc/apt/sources.list"; next}1' Dockerfile-* .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
开始构建镜像:
Code Block |
---|
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
Code Block |
---|
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" |