Gostaria de confirmar que essa solução funciona. Estou no CentOS 8, com Hetzner.
Especificamente, executei os seguintes comandos na ordem listada abaixo. (fonte) - obrigado a @paulraines68
# O mascaramento permite o tráfego de entrada e saída do Docker (esta é a parte importante)
firewall-cmd --zone=public --add-masquerade --permanent
# Permitir especificamente o tráfego de entrada nas portas 80/443 (nada de novo aqui)
firewall-cmd --zone=public --add-port=80/tcp
firewall-cmd --zone=public --add-port=443/tcp
# Recarregar o firewall para aplicar as regras permanentes
firewall-cmd --reload