Skip to content

Dockerize BIND DNS server with webmin for DNS administration

License

Notifications You must be signed in to change notification settings

marcusmyers/docker-bind

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

61 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Table of Contents

Introduction

Dockerfile to build a bind dns server image with webmin for easy configuration.

Contributing

If you find this image useful here's how you can help:

  • Send a Pull Request with your awesome new features and bug fixes
  • Help new users with Issues they may encounter
  • Send me a tip via Bitcoin or using Gratipay

Installation

Pull the latest version of the image from the docker index. This is the recommended method of installation as it is easier to update image in the future. These builds are performed by the Docker Trusted Build service.

docker pull sameersbn/bind:latest

Alternately you can build the image yourself.

git clone https://github.com/sameersbn/docker-bind.git
cd docker-bind
docker build -t="$USER/bind" .

Quick Start

Run the image

docker run --name='bind' -d -p 53:53/udp -p 10000:10000 \
sameersbn/bind:latest

Point your browser to https://localhost:10000 and login as root. A random password is assigned for the root user. This password can be retrieved from the container logs.

docker logs bind 2>&1 | grep '^User: ' | tail -n1

Please note that the password is not persistent and changes every time the image is executed.

Data Store

You should mount a volume at /data for persistence of your bind server configuration.

docker run --name='bind' -d -p 53:53/udp -p 10000:10000 \
-v /opt/bind:/data sameersbn/bind:latest

Shell Access

For debugging and maintenance purposes you may want access the containers shell. If you are using docker version 1.3.0 or higher you can access a running containers shell using docker exec command.

docker exec -it bind bash

If you are using an older version of docker, you can use the nsenter linux tool (part of the util-linux package) to access the container shell.

Some linux distros (e.g. ubuntu) use older versions of the util-linux which do not include the nsenter tool. To get around this @jpetazzo has created a nice docker image that allows you to install the nsenter utility and a helper script named docker-enter on these distros.

To install nsenter execute the following command on your host,

docker run --rm -v /usr/local/bin:/target jpetazzo/nsenter

Now you can access the container shell using the command

sudo docker-enter bind

For more information refer https://github.com/jpetazzo/nsenter

Upgrading

To upgrade to newer releases, simply follow this 3 step upgrade procedure.

  • Step 1: Update the docker image.
docker pull sameersbn/bind:latest
  • Step 2: Stop the currently running image
docker stop bind
  • Step 3: Start the image
docker run -name bind -d [OPTIONS] sameersbn/bind:latest

About

Dockerize BIND DNS server with webmin for DNS administration

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Shell 94.9%
  • Makefile 5.1%