BIND 9 is a very flexible, full-featured DNS system. Long-term versions maintained by Canonical.
1M+
ubuntu/bind9 is a rock for bind9 maintained by Canonical.
BIND 9 provides software for Domain Name System (DNS) management including both defining domain names authoritatively for a given DNS zone, and recursively resolving domain names to their IP addresses.
NOTE: These tags follow a specific naming convention that respects the concept of channels.
| Tags | Supported until | Version | Base | Architectures |
|---|---|---|---|---|
9.18-24.04_beta | 05/2029 | 9.18 | 24.04 | amd64, arm64, ppc64le, s390x |
9.18-22.04_beta | 06/2027 | 9.18 | 22.04 | amd64, ppc64le, s390x, arm64 |
9.20-26.04_edge | 05/2031 | 9.20 | 26.04 | amd64, ppc64le, s390x, arm64 |
9.18-24.04_edge | 05/2029 | 9.18 | 24.04 | amd64, arm64, ppc64le, s390x |
9.18-22.04_edge | 06/2027 | 9.18 | 22.04 | amd64, ppc64le, s390x, arm64 |
| Tags | Support ended on | Upgrade Path | |
|---|---|---|---|
9.20-25.04_beta | aliases9.20-25.04_edgeedgelatest | 01/2026 | - |
9.20-24.10_beta | aliases9.20-24.10_edge | 07/2025 | - |
9.18-23.10_beta | aliases9.18-23.10_edge | 07/2024 | - |
9.18-23.04_beta | aliases9.18-23.04_edge | 01/2024 | - |
9.18-22.10_beta | aliases9.18-22.10_edge | 07/2023 | - |
9.16-21.10_beta | aliases9.16-21.10_edge | 07/2022 | - |
9.16-20.04_beta | aliases9.16-20.04_edge | 05/2025 | - |
This rock's entrypoint is Pebble, a container-optimized init process that enables the orchestration of a collection of local service processes as an organized set.
To view the Pebble services and checks defined in this rock:
docker run --rm ubuntu/bind9:9.20-25.04_beta plan
The container spins up with the default entrypoint. To inspect the entrypoint and command:
docker inspect --format='{{.Config.Entrypoint}} {{.Config.Cmd}}' ubuntu/bind9:9.20-25.04_beta
To run this rock, use any of the usual container runtimes, for example, docker:
docker run --name bind9-container \
-e TZ=UTC -p 30053:53/tcp -p 30053:53/udp \
ubuntu/bind9:9.20-25.04_beta \
--args <named-args>
Access your Bind9 server at localhost:30053
Additionally, you can use rndc to manage the server:
docker exec bind9-container rndc <command>
A rndc key must have been previously generated either
by mounting a volume containing a rndc.key file or
by running rndc-confgen with:
docker exec bind9-container rndc-confgen -a
docker restart bind9-container
docker run --name bind9-container \
-e TZ=UTC -p 30053:53/tcp -p 30053:53/udp \
ubuntu/bind9:9.20-25.04_beta \
<named-args>
Access your Bind9 server at localhost:30053
To view the logs of the running container, run:
docker exec bind9-container pebble logs
Or, for a specific service:
docker exec bind9-container pebble logs <service>
To view the logs of the running container, run:
docker logs bind9-container
Rocks may have predefined health checks that you can list by running:
docker exec bind9-container pebble checks
The overall health of your container can be inspected via:
docker exec bind9-container pebble health
Works with any Kubernetes; if you don't have one, we recommend you install MicroK8s. Then, run microk8s.enable dns storage and snap alias microk8s.kubectl kubectl.
Download
bind9-deployment.yml and set containers.bind9.image in bind9-deployment.yml to your chosen channel tag (e.g. ubuntu/bind9:9.20-25.04_beta), then:
kubectl apply -f bind9-deployment.yml
You will now be able to connect to the bind9 server on http://localhost:30053.
| Option | Description | Default |
|---|---|---|
-e TZ=UTC | Timezone | None |
-e BIND9_USER=<user> | The user which will start the named process. Deprecated on 9.20-26.04 onwards, use -u <user> instead. | None |
| Option | Description | Default |
|---|---|---|
-v /path/to/config:/etc/bind/named.conf:ro | Local configuration file named.conf (try this example) | None |
-v /path/to/data:/var/cache/bind | Location where locally cached data can be dumped. | None |
-v /path/to/resource:/var/lib/bind | Location of Resource Records defining various domain information. | None |
| Option | Description | Default |
|---|---|---|
-p 30053:53 | Expose bind9 on localhost:30053 | None |
| Option | Description | Default |
|---|---|---|
-u <user> | The user that the bind9 server will run as. Can optionally be set to bind. | _daemon_ |
--args <named-args> | Optional arguments to override the defaults being passed to named when the container starts. | -g |
Canonical is the provider of this container image. It is the user's responsibility to ensure that any use of this image complies with any relevant licenses for all software contained within, as well as with Canonical’s IP Policy.
Content type
Image
Digest
sha256:c7d8a0874…
Size
15.3 MB
Last updated
2 days ago
Requires Docker Desktop 4.37.1 or later.
Pulls:
27,795
Jun 1 to Jun 7