Only configure Docker if it is present on the system

This commit is contained in:
David Heinemeier Hansson
2025-08-31 08:50:32 +02:00
parent 29c2233399
commit 9f5975b717

View File

@@ -1,21 +1,23 @@
echo "Configure Docker to use the host's DNS resolver" echo "Configure Docker to use the host's DNS resolver"
# If the daemon configuration has been changed since we wrote it, leave it as-is if cmd-present docker; then
ORIGINAL_CONFIG='{"log-driver":"json-file","log-opts":{"max-size":"10m","max-file":"5"}}' # If the daemon configuration has been changed since we wrote it, leave it as-is
ORIGINAL_CONFIG='{"log-driver":"json-file","log-opts":{"max-size":"10m","max-file":"5"}}'
NEW_CONFIG='{ NEW_CONFIG='{
"log-driver": "json-file", "log-driver": "json-file",
"log-opts": { "max-size": "10m", "max-file": "5" }, "log-opts": { "max-size": "10m", "max-file": "5" },
"dns": ["172.17.0.1"], "dns": ["172.17.0.1"],
"bip": "172.17.0.1/16" "bip": "172.17.0.1/16"
}' }'
if grep -Fq "$ORIGINAL_CONFIG" /etc/docker/daemon.json 2>/dev/null; then if grep -Fq "$ORIGINAL_CONFIG" /etc/docker/daemon.json 2>/dev/null; then
echo "$NEW_CONFIG" | sudo tee /etc/docker/daemon.json >/dev/null echo "$NEW_CONFIG" | sudo tee /etc/docker/daemon.json >/dev/null
fi
# 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
sudo systemctl restart docker
fi fi
# 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
sudo systemctl restart docker