In case you’re on a Ubuntu Docker host, you will have to disable the default shit,
systemctl list-unit-files | grep bind systemctl stop bind9.service systemctl disable bind9.service systemctl list-unit-files | grep resolv systemctl stop systemd-resolved.service systemctl disable systemd-resolved.service
Launch your CentOS7 custom container,
app=named
ls -alhF /data/$app/
docker ps -a | grep $app
docker run -d --name $app -h $app \
-p 53:53/udp -p 53:53 \
-v /data/$app:/$app \
custom/centos
docker ps -a | grep $app
docker logs $app
docker exec -ti $app bash
You can now proceed with the BIND v9 guide.
Note however that you don’t need to chroot the thing since you are already isolating the process in a docker container,
cd /etc/
mv named.conf named.conf.dist
vi named.conf
allow-query { any; };
allow-query-cache { any; };
cd /var/named/
vi example.local.db
vi 2.168.192...db
named-checkconf -z /etc/named.conf
/usr/sbin/named -u named
rndc reload
#pgrep named
#kill -HUP `pgrep named`
rndc stop
#pgrep named
#kill -TERM `pgrep named`
Once you’re done, write a new init.bash and commit the container to an image.