Ich möchte bestätigen, dass diese Lösung funktioniert. Ich nutze CentOS 8 bei Hetzner.
Genauer gesagt habe ich die folgenden Befehle in der angegebenen Reihenfolge ausgeführt. (Quelle) – vielen Dank an @paulraines68.
# Masquerading ermöglicht den ein- und ausgehenden Datenverkehr für Docker (das ist der entscheidende Teil)
firewall-cmd --zone=public --add-masquerade --permanent
# Speziell eingehenden Datenverkehr auf den Ports 80/443 zulassen (hier nichts Neues)
firewall-cmd --zone=public --add-port=80/tcp
firewall-cmd --zone=public --add-port=443/tcp
# Firewall neu laden, um die dauerhaften Regeln anzuwenden
firewall-cmd --reload