This is a fork of jpillora/docker-dnsmasq to extend for arm32, arm64 architecture.
This project:
- GitHub joweisberg/docker-dnsmasq
- Docker Hub joweisberg/dnsmasq
dnsmasq in a docker container, configurable via a simple web UI
The Docker image to use joweisberg/glances:latest
.
Build on Linux Ubuntu 20.04 LTS, Docker 19.03 and above for:
Platform | Architecture / Tags |
---|---|
x86_64 | amd64 |
aarch64 | arm64 |
arm | arm32 |
Get the container:
$ docker pull joweisberg/glances:latest
-
Create a
/opt/dnsmasq.conf
file on the Docker host#dnsmasq config, for a complete example, see: # http://oss.segetech.com/intra/srv/dnsmasq.conf #log all dns queries log-queries #dont use hosts nameservers no-resolv #use cloudflare as default nameservers, prefer 1^4 server=1.0.0.1 server=1.1.1.1 strict-order #serve all .company queries using a specific nameserver server=/company/10.0.0.1 #explicitly define host-ip mappings address=/myhost.company/10.0.0.2
-
Run the container
$ docker run \ --name dnsmasq \ -d \ -p 53:53/udp \ -p 5380:8080 \ -v /opt/dnsmasq.conf:/etc/dnsmasq.conf \ --log-opt "max-size=100m" \ -e "HTTP_USER=foo" \ -e "HTTP_PASS=bar" \ --restart unless-stopped \ joweisberg/dnsmasq
-
Run the container via docker-compose
dnsmasq: container_name: dnsmasq image: joweisberg/dnsmasq:latest volumes: - /opt/dnsmasq.conf:/etc/dnsmasq.conf restart: unless-stopped ports: - 53:53/udp - 5380:8080
-
Visit
http://<docker-host>:5380
, authenticate withfoo/bar
and you should see -
Test it out with
$ host myhost.company <docker-host> Using domain server: Name: <docker-host> Address: <docker-host>#53 Aliases: myhost.company has address 10.0.0.2
-
Run the following commands to disable the localhost resolved service
sudo systemctl disable systemd-resolved sudo systemctl stop systemd-resolved sudo rm /etc/resolv.conf echo "nameserver 8.8.8.8" > /etc/resolv.conf