この解決策が機能することを確認させてください。私は Hetzner を使用した CentOS 8 環境です。
具体的には、以下に示す順序でコマンドを実行しました(出典 - @paulraines68 さんに感謝します)。
# MASQUERADE は Docker のインバウンドおよびアウトバウンド通信を可能にします(ここが肝心な部分です)
firewall-cmd --zone=public --add-masquerade --permanent
# 80/443 ポートへの受信トラフィックを特に許可します(新しいことはありません)
firewall-cmd --zone=public --add-port=80/tcp
firewall-cmd --zone=public --add-port=443/tcp
# 永続ルールを適用するためにファイアウォールをリロードします
firewall-cmd --reload