Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

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

Image Added

开始构建镜像:

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"