Compare commits
54 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
0a76512e7a | ||
|
|
1677397953 | ||
|
|
a72615fa00 | ||
|
|
b9abcb86ef | ||
|
|
190213fc75 | ||
|
|
d3c1401397 | ||
|
|
dc07d6f4f1 | ||
|
|
a17e485ed7 | ||
|
|
0a597aa57d | ||
|
|
4d2b6d9e74 | ||
|
|
4773433ae6 | ||
|
|
adf71c2e56 | ||
|
|
76bf98135c | ||
|
|
54e724da5b | ||
|
|
e126f78544 | ||
|
|
6ab70cb006 | ||
|
|
71c4076ca4 | ||
|
|
b7d6ba002d | ||
|
|
ad293342a6 | ||
|
|
52f54f4e4c | ||
|
|
78b7a09e9f | ||
|
|
2b1fb304db | ||
|
|
427f9d971b | ||
|
|
9da3bddd82 | ||
|
|
22145c01df | ||
|
|
fd26b705a3 | ||
|
|
d4df45915d | ||
|
|
3653a36772 | ||
|
|
077febf761 | ||
|
|
42a68e3bd0 | ||
|
|
bd98f5bc0f | ||
|
|
46a3b906d6 | ||
|
|
daaba54300 | ||
|
|
aa98d0167c | ||
|
|
e4408a11d7 | ||
|
|
b971f68b6d | ||
|
|
154346c2d6 | ||
|
|
d814da6b0c | ||
|
|
34e4883181 | ||
|
|
3b0f253826 | ||
|
|
97bc45bac1 | ||
|
|
035c753592 | ||
|
|
55becf70de | ||
|
|
4f77f2dc10 | ||
|
|
0ecc8ea373 | ||
|
|
6a0f76fac3 | ||
|
|
35087c2d86 | ||
|
|
b974a825e8 | ||
|
|
44154dd596 | ||
|
|
fecf7f22b0 | ||
|
|
9d09435492 | ||
|
|
2bdfae6f97 | ||
|
|
874a69bfa4 | ||
|
|
4cec2c0086 |
130
Dockerfile
130
Dockerfile
@@ -1,35 +1,127 @@
|
||||
FROM ubuntu:focal
|
||||
MAINTAINER BIND 9 Developers <bind9-dev@isc.org>
|
||||
# Create common base
|
||||
FROM alpine:latest AS base
|
||||
LABEL org.opencontainers.image.authors="BIND 9 Developers <bind9-dev@isc.org>"
|
||||
|
||||
ENV DEBIAN_FRONTEND noninteractive
|
||||
ENV LC_ALL C.UTF-8
|
||||
ENV LC_ALL=C.UTF-8
|
||||
|
||||
ARG DEB_VERSION=1:9.18.1-1+ubuntu20.04.1+isc+1
|
||||
ARG UID=53
|
||||
ARG GID=53
|
||||
|
||||
# Install add-apt-repository command
|
||||
RUN apt-get -qqqy update
|
||||
RUN apt-get -qqqy dist-upgrade
|
||||
RUN apt-get -qqqy install --no-install-recommends apt-utils software-properties-common dctrl-tools
|
||||
ARG BIND9_VERSION=9.18.35
|
||||
ARG BIND9_CHECKSUM=1bf332a8c056d92b87ffde518747f0b7ffd3e48be7ecaa43fa37fca131c52020
|
||||
|
||||
# Add the BIND 9 APT Repository
|
||||
RUN add-apt-repository -y ppa:isc/bind-dev
|
||||
RUN apk --no-cache update
|
||||
RUN apk --no-cache upgrade
|
||||
|
||||
# Install BIND 9
|
||||
RUN apt-get -qqqy update
|
||||
RUN apt-get -qqqy dist-upgrade
|
||||
RUN apt-get -qqqy install bind9=$DEB_VERSION bind9utils=$DEB_VERSION
|
||||
# Build BIND 9
|
||||
FROM base AS builder
|
||||
|
||||
# Now remove the pkexec that got pulled as dependency to software-properties-common
|
||||
RUN apt-get --purge -y autoremove policykit-1
|
||||
RUN apk --no-cache add \
|
||||
autoconf \
|
||||
automake \
|
||||
build-base \
|
||||
fstrm \
|
||||
fstrm-dev \
|
||||
jemalloc \
|
||||
jemalloc-dev \
|
||||
json-c \
|
||||
json-c-dev \
|
||||
krb5-dev \
|
||||
krb5-libs \
|
||||
libcap-dev \
|
||||
libcap2 \
|
||||
libidn2 \
|
||||
libidn2-dev \
|
||||
libmaxminddb-dev \
|
||||
libmaxminddb-libs \
|
||||
libtool \
|
||||
libuv \
|
||||
libuv-dbg \
|
||||
libuv-dev \
|
||||
libxml2 \
|
||||
libxml2-dbg \
|
||||
libxml2-dev \
|
||||
libxslt \
|
||||
lmdb \
|
||||
lmdb-dev \
|
||||
make \
|
||||
musl-dbg \
|
||||
nghttp2-dev \
|
||||
nghttp2-libs \
|
||||
openssl-dbg \
|
||||
openssl-dev \
|
||||
procps \
|
||||
protobuf-c \
|
||||
protobuf-c-dev \
|
||||
tzdata
|
||||
|
||||
RUN mkdir -p /usr/src
|
||||
ADD https://downloads.isc.org/isc/bind9/${BIND9_VERSION}/bind-${BIND9_VERSION}.tar.xz /usr/src
|
||||
RUN cd /usr/src && \
|
||||
( echo "${BIND9_CHECKSUM} bind-${BIND9_VERSION}.tar.xz" | sha256sum -c - ) && \
|
||||
tar -xJf bind-${BIND9_VERSION}.tar.xz && \
|
||||
cd /usr/src/bind-${BIND9_VERSION} && \
|
||||
./configure --prefix /usr \
|
||||
--sysconfdir=/etc/bind \
|
||||
--localstatedir=/ \
|
||||
--enable-shared \
|
||||
--disable-static \
|
||||
--with-gssapi \
|
||||
--with-libidn2 \
|
||||
--with-json-c \
|
||||
--with-lmdb=/usr \
|
||||
--with-gnu-ld \
|
||||
--with-maxminddb \
|
||||
--enable-dnstap && \
|
||||
make -j && \
|
||||
make install DESTDIR=/dist && \
|
||||
rm -rf /usr/src
|
||||
|
||||
# Create final image
|
||||
FROM base
|
||||
|
||||
RUN apk --no-cache add \
|
||||
fstrm \
|
||||
jemalloc \
|
||||
json-c \
|
||||
krb5-libs \
|
||||
libcap2 \
|
||||
libidn2 \
|
||||
libmaxminddb-libs \
|
||||
libuv \
|
||||
libxml2 \
|
||||
lmdb \
|
||||
nghttp2-libs \
|
||||
procps \
|
||||
protobuf-c \
|
||||
tzdata
|
||||
|
||||
# Copy binaries from previous stage
|
||||
COPY --from=builder /dist/ /
|
||||
|
||||
# Create user and group
|
||||
RUN addgroup -S -g ${GID} bind && adduser -S -u ${UID} -H -h /var/cache/bind -G bind bind
|
||||
|
||||
# Create default configuration file
|
||||
RUN mkdir -p /etc/bind && chown root:bind /etc/bind/ && chmod 755 /etc/bind
|
||||
COPY named.conf /etc/bind
|
||||
RUN chown root:bind /etc/bind/named.conf && chmod 644 /etc/bind/named.conf
|
||||
|
||||
# Create working directory
|
||||
RUN mkdir -p /var/cache/bind && chown bind:bind /var/cache/bind && chmod 755 /var/cache/bind
|
||||
|
||||
# Create directory to store secondary zones
|
||||
RUN mkdir -p /var/lib/bind && chown bind:bind /var/lib/bind && chmod 755 /var/lib/bind
|
||||
|
||||
# Create log directory
|
||||
RUN mkdir -p /var/log/bind && chown bind:bind /var/log/bind && chmod 755 /var/log/bind
|
||||
|
||||
# Create PID directory
|
||||
RUN mkdir -p /run/named && chown bind:bind /run/named && chmod 755 /run/named
|
||||
|
||||
VOLUME ["/etc/bind", "/var/cache/bind", "/var/lib/bind", "/var/log"]
|
||||
|
||||
EXPOSE 53/udp 53/tcp 953/tcp
|
||||
EXPOSE 53/udp 53/tcp 953/tcp 853/tcp 443/tcp
|
||||
|
||||
CMD ["/usr/sbin/named", "-g", "-c", "/etc/bind/named.conf", "-u", "bind"]
|
||||
ENTRYPOINT ["/usr/sbin/named", "-u", "bind"]
|
||||
CMD ["-f", "-c", "/etc/bind/named.conf", "-L", "/var/log/bind/default.log"]
|
||||
|
||||
14
named.conf
Normal file
14
named.conf
Normal file
@@ -0,0 +1,14 @@
|
||||
http local {
|
||||
endpoints { "/dns-query"; };
|
||||
};
|
||||
|
||||
options {
|
||||
directory "/var/cache/bind";
|
||||
|
||||
listen-on { any; };
|
||||
listen-on-v6 { any; };
|
||||
listen-on tls ephemeral { any; };
|
||||
listen-on-v6 tls ephemeral { any; };
|
||||
listen-on tls ephemeral http local { any; };
|
||||
listen-on-v6 tls ephemeral http local { any; };
|
||||
};
|
||||
Reference in New Issue
Block a user