Public | Automated Build

Last pushed: 2 years ago
Short Description
Dockerized BIND DNS server
Full Description

Table of Contents

Introduction

Dockerfile to build a bind dns server image. Image based on https://github.com/sameersbn/docker-bind.

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 ctrld/bind:latest

Alternately you can build the image yourself.

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

Quick Start

Run the image

docker run --name='bind' -d -p 53:53/udp ctrld/bind:latest

Container logs:

docker logs bind

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 -v /opt/bind:/data ctrld/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 ctrld/bind:latest
  • Step 2: Stop the currently running image
docker stop bind
  • Step 3: Start the image
docker run -name bind -d [OPTIONS] ctrld/bind:latest
Docker Pull Command
Owner
ctrld
Source Repository