Как известно, докер плевал на мнение админа и добавляет в iptables правила, открывающие порты.
Мне нужно, чтобы контейнер биндился на 0.0.0.0, но тем не менее не был доступен публично. На сервере два интерфейса (один VPN), через VPN порт должен быть открыт.
В доке пишут: «It is possible to set the iptables key to false in the Docker engine’s configuration file at /etc/docker/daemon.json, but this option is not appropriate for most users. It is not possible to completely prevent Docker from creating iptables rules, and creating them after-the-fact is extremely involved and beyond the scope of these instructions. Setting iptables to false will more than likely break container networking for the Docker engine.»
Не очень понятно, что конкретно поломается.
Есть ли простой рецепт, как добиться желаемого? Т.е. чтобы докер вёл себя, как любой другой сервер, чтобы я сначала биндил на 0.0.0.0, а потом уже открывал порт в фаерволе и никак иначе.
На одном сервере CentOS 7, поэтому желательна нормальная интеграция с firewalld, т.е. чтобы все манипуляции можно было производить через него. На другом Ubuntu 16.04, там ufw.