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.
Automated builds of the image are available on Dockerhub and is the recommended method of installation.
docker pull soldin/dns-dhcp
Start BIND using:
docker run -d --name dns-dhcp \
--net=host \
-e ROOT_PASSWORD=admin \
-e DHCP_ENABLED=true \
-e INTERFACES=eth0 \
-v /etc/localtime:/etc/localtime:ro \
-v /srv/dns-dhcp:/data \
--restart=always soldin/dns-dhcp
When the container is started the Webmin service is also started and is accessible from the web browser at http://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.
For the BIND to preserve its state across container shutdown and startup you should mount a volume at /data
.
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 dns-dhcp bash