Use host's DNS resolver in Docker containers (#812)

* Symlink /etc/resolve.conf to systemd-resolved's stub

Since systemd-resolved is managing the DNS configuration, ensure that
/etc/resolv.conf uses it.

* Use systemd-resolved from Docker containers
This commit is contained in:
Kevin McConnell
2025-08-15 14:29:25 +01:00
committed by GitHub
parent 2db5e730a7
commit aca23ad834
4 changed files with 42 additions and 2 deletions

View File

@@ -2,9 +2,22 @@
yay -S --noconfirm --needed docker docker-compose docker-buildx
# Limit log size to avoid running out of disk
# Configure Docker daemon:
# - limit log size to avoid running out of disk
# - use host's DNS resolver
sudo mkdir -p /etc/docker
echo '{"log-driver":"json-file","log-opts":{"max-size":"10m","max-file":"5"}}' | sudo tee /etc/docker/daemon.json
sudo tee /etc/docker/daemon.json >/dev/null <<'EOF'
{
"log-driver": "json-file",
"log-opts": { "max-size": "10m", "max-file": "5" },
"dns": ["172.17.0.1"],
"bip": "172.17.0.1/16"
}
EOF
# Expose systemd-resolved to our Docker network
echo -e '[Resolve]\nDNSStubListenerExtra=172.17.0.1' | sudo tee /etc/systemd/resolved.conf.d/20-docker-dns.conf >/dev/null
sudo systemctl restart systemd-resolved
# Start Docker automatically
sudo systemctl enable docker