Quand je vois les problèmes rencontrés et la quasi impossibilité à débugguer, ça fait peur...
ce qui ne marche pas n'est pas a cause de Docker mais de son OS/réseau.
Comme indiqué son cas est exceptionnel , du jamais vu pour moi en tout cas.
Tu peux avoir les mêmes souci avec une VM de toute façon si au niveau de l'hôte iptables et/ou la config réseau ne sont pas clean...
Au niveau debug c'est pareil qu'avec une VM voir même souvent plus simple avec Docker car il n'y a pas 2 stack réseau distinctes (avec une VM et une config tordue tu peux avoir a toucher a iptables dans l'hote et a iptables dans la vm et ca peut vite être la zone).
Bref c'est vraiment pas le cas ou il faut juger Docker sur cet exemple. D'ailleurs de nos jours y'a surement plus de conteneurs que de VM qui tournent dans le monde.
Perso dans son cas je ferais: désinstaller Docker, reset iptables complet, install Docker, lancer son conteneur, tester si tout ok. puis commencer a rajouter les blocages & règles dans iptables et vraiment si nécessaire.
pour la sécurité de base de ssh:
-ne pas mettre ssh sur le port 22 mais un autre port pas commun.
-interdire les accès ssh avec mot de passe (donc autoriser que les accès par clés crypto)
-du coup plus besoin d'utiliser fail2ban