36 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Docker
		
	
	
	
	
	
			
		
		
	
	
			36 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Docker
		
	
	
	
	
	
FROM alpine:latest
 | 
						|
EXPOSE 53 53/udp
 | 
						|
 | 
						|
RUN apk --update upgrade && apk add bind bind-tools bind-plugins
 | 
						|
 | 
						|
# BIND Log Options - you can override at run time
 | 
						|
# "-g" = (default) Run the server in the foreground and force all logging stderr.
 | 
						|
# "-f" = Run the server in the foreground
 | 
						|
env BIND_LOG -g
 | 
						|
 | 
						|
# /etc/bind needs to be owned by root, group owned by "bind", and chmod 750
 | 
						|
# since we are mounting, do it manually
 | 
						|
# NOTE: Per Dockerfile manual --> need to mkdir the mounted dir to chown
 | 
						|
# &
 | 
						|
# /var/bind needs to be owned by root, group owned by "bind", and chmod 770
 | 
						|
# since we are mounting, do it manually
 | 
						|
# NOTE: Per Dockerfile manual --> need to mkdir the mounted dir to chown
 | 
						|
# &
 | 
						|
# Get latest bind.keys
 | 
						|
RUN mkdir -m 0770 -p /etc/bind && chown -R root:named /etc/bind ; \
 | 
						|
    mkdir -m 0770 -p /var/cache/bind && chown -R named:named /var/cache/bind ; \
 | 
						|
    wget -q -O /etc/bind/bind.keys https://ftp.isc.org/isc/bind9/keys/9.11/bind.keys.v9_11 ; \
 | 
						|
    rndc-confgen -a
 | 
						|
 | 
						|
COPY configs/. /etc/bind/
 | 
						|
 | 
						|
# Mounts
 | 
						|
# NOTE: Per Dockerfile manual -->
 | 
						|
#	"if any build steps change the data within the volume
 | 
						|
# 	 after it has been declared, those changes will be discarded."
 | 
						|
VOLUME ["/etc/bind"]
 | 
						|
VOLUME ["/var/cache/bind"]
 | 
						|
 | 
						|
COPY entrypoint.sh /
 | 
						|
ENTRYPOINT ["/entrypoint.sh"]
 |