From 5b202c101924eabfac86439b071bbf5c99475dde Mon Sep 17 00:00:00 2001 From: Ventz Petkov Date: Sun, 10 Jan 2016 16:11:56 -0500 Subject: [PATCH] Moving Docker bind container to github so that I can autobuild in docker hub --- Dockerfile | 22 ++++++++++++++++++++++ README.md | 20 ++++++++++++++++++++ 2 files changed, 42 insertions(+) create mode 100644 Dockerfile create mode 100644 README.md diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..f8b8f42 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,22 @@ +FROM alpine:latest +RUN apk --update add bind + +RUN mkdir -m 0755 -p /var/run/named && chown root:named /var/run/named + +# /var/cache/bind needs to be owned by "bind" +# since we are mounting, do it manually +# NOTE: Per Dockerfile manual --> need to mkdir the mounted dir to chown +RUN mkdir /var/cache/bind +RUN chown named:named /var/cache/bind +RUN chmod -R 0775 /var/cache/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"] + +EXPOSE 53 + +CMD ["/usr/sbin/named", "-c", "/etc/bind/named.conf", "-g", "-u", "named"] diff --git a/README.md b/README.md new file mode 100644 index 0000000..5579b97 --- /dev/null +++ b/README.md @@ -0,0 +1,20 @@ +NOTE: Example assumes you have a "/dns-slave01" with your container specific data! +Change as needed with the SRC data that you are mounting into the container. + +## Needed Data (storage) Directory isite: +This container assumes you have a "/dns" folder with your container specific data: +You can change that folder as needed, but make sure you update the "-v" mounts for run time + +1.) *REQUIRED* In your /dns/etc/bind a file "named.conf", which acts as an entry point to your configs +2.) A "/dns/var/cache/bind" directory for all of the master or slave zones. If it's for slave zones, it will populate automatically and you can leave it blank. +3.) *OPTIONAL* "/dns/var/log/named" directory for logging your DNS requests/returns/other breakdown. + +**Using Container:** +``` +docker run --name=dns-slave01 -d --dns=8.8.8.8 --dns=8.8.4.4 \ +-p 53:53/udp -p 53:53 \ +-v /dns-slave01/etc/bind:/etc/bind \ +-v /dns-slave01/var/cache/bind:/var/cache/bind \ +-v /dns-slave01/var/log/named:/var/log/named \ +ventz/bind +```