制作powerdns arm镜像

powerdns官方只提供了x86架构的docker镜像

1、更改 Dockerfile 替换国内apt源

debian 11 更换源

FROM dockerpull.cn/debian:11-slim AS builder

RUN sed -i 's/deb.debian.org/mirrors.tuna.tsinghua.edu.cn/g' /etc/apt/sources.list \
  && sed -i 's/security.debian.org/mirrors.tuna.tsinghua.edu.cn/g' /etc/apt/sources.list \
  && apt-get update \
  && apt-get -y dist-upgrade \
  && apt-get -y install hostname default-mysql-client \
  && pdns-server pdns-backend-mysql procps\
  && apt-get clean

 

RUN mkdir -p /run/pdns \
&& chown -R pdns: /run/pdns

HEALTHCHECK --interval=10s --timeout=10s --retries=3 --start-period=2s CMD ["pdns_control", "ping"]

CMD [ "/usr/sbin/pdns_server" ]

3、 docker build -t pdns-recursor-48:4.8.9 -f Dockerfile-recursor

 

 

使用fedora

FROM dockerpull.cn/fedora:40

RUN arch=$([ "$(arch)" = 'aarch64' ] && echo -n 'arm64' || echo -n 'amd64') \
&& echo 'install_weak_deps=False' >> /etc/dnf/dnf.conf \
&& echo 'assumeyes=True' >> /etc/dnf/dnf.conf \
&& sed -i 's/enabled=1/enabled=0/g' /etc/yum.repos.d/fedora-cisco-openh264.repo \
&& dnf --refresh upgrade \
&& dnf install procps\
pdns-recursor \
https://github.com/kha7iq/subvars/releases/download/v0.1.5/subvars_${arch}.rpm \
&& dnf clean all

RUN mkdir -p /etc/pdns-recursor/api.d /run/pdns-recursor \
&& chown -R pdns-recursor: /etc/pdns-recursor/api.d /run/pdns-recursor

HEALTHCHECK --interval=10s --timeout=10s --retries=3 --start-period=2s CMD ["rec_control", "ping"]

CMD [ "/usr/sbin/pdns_recursor" ]

 

FROM dockerpull.cn/fedora:40

RUN arch=$([ "$(arch)" = 'aarch64' ] && echo -n 'arm64' || echo -n 'amd64') \
&& echo 'install_weak_deps=False' >> /etc/dnf/dnf.conf \
&& echo 'assumeyes=True' >> /etc/dnf/dnf.conf \
&& sed -i 's/enabled=1/enabled=0/g' /etc/yum.repos.d/fedora-cisco-openh264.repo \
&& dnf --refresh upgrade \
&& dnf install \
hostname \
mariadb \
pdns \
https://github.com/kha7iq/subvars/releases/download/v0.1.5/subvars_${arch}.rpm \
&& dnf --setopt 'tsflags=' install pdns-backend-mysql \
&& dnf clean all

 

RUN mkdir -p /run/pdns \
&& chown -R pdns: /etc/pdns /run/pdns

HEALTHCHECK --interval=10s --timeout=10s --retries=3 --start-period=2s CMD ["pdns_control", "ping"]

CMD [ "/usr/sbin/pdns_server" ]

 

posted @ 2025-04-21 17:16  upupday  阅读(20)  评论(0)    收藏  举报