Sign inSign up

benpiper/docker-bind

By benpiper

•Updated over 8 years ago

Image
0

299

benpiper/docker-bind repository overview

⁠Introduction

Dockerfile to create a Docker⁠ container image for BIND⁠ DNS server bundled with the Webmin⁠ interface.

BIND is open source software that implements the Domain Name System (DNS) protocols for the Internet. It is a reference implementation of those protocols, but it is also production-grade software, suitable for use in high-volume and high-reliability applications.

⁠Issues

Before reporting your issue please try updating Docker to the latest version and check if it resolves the issue. Refer to the Docker installation guide⁠ for instructions.

SELinux users may need to update the security context of the host mountpoint so that it plays nicely with Docker:

mkdir -p /srv/docker/bind
chcon -Rt svirt_sandbox_file_t /srv/docker/bind

If SELinux still gets in the way, you can try disabling it using the command setenforce 0 to see if it resolves the issue.

If the above recommendations do not help then report your issue⁠ along with the following information:

  • Output of the docker version and docker info commands
  • The docker run command or docker-compose.yml used to start the image. Mask out the sensitive bits.
  • Please state if you are using Boot2Docker⁠, VirtualBox⁠, etc.

⁠Getting started

⁠Installation

Automated builds of the image are available on Dockerhub⁠ and is the recommended method of installation.

docker pull benpiper/docker-bind:latest

Alternatively you can build the image yourself.

docker build -t benpiper/docker-bind github.com/benpiper/docker-bind

⁠Quickstart

Start BIND using:

docker run --name dns1 -d --restart=always \
  --publish 53:53/tcp --publish 53:53/udp --publish 10000:10000/tcp \
  benpiper/docker-bind:latest

This will load BIND with a sample configuration and zone (siliconharbor.io). If you want to start with a clean slate, see the following Persistence⁠ section.

When the container is started the Webmin⁠ service is also started and is accessible from the web browser at https://localhost:10000⁠. Login to Webmin with the username root and password password. Specify --env ROOT_PASSWORD=secretpassword on the docker run command to set a password of your choosing.

The launch of Webmin can be disabled by adding --env WEBMIN_ENABLED=false to the docker run command. Note that the ROOT_PASSWORD parameter has no effect when the launch of Webmin is disabled.

⁠Persistence

For BIND to preserve its state across container deletion you can mount a volume at /data by adding the following flags to the docker run command:

--volume /srv/docker/bind:/data

Alternatively, you can use the sample docker-compose.yml⁠ file to start the container using Docker Compose⁠

⁠Maintenance

⁠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 by starting bash using docker exec:

docker exec -it docker-bind bash

Tag summary

Content type

Image

Digest

Size

59 MB

Last updated

over 8 years ago

docker pull benpiper/docker-bind