Настройка --iptables=false
означает, что демон docker не смог настроить правило (я) iptables на хосте. Тем не менее, это важно, если у вас включен UFW.
Я уверен, что эта проблема исчезнет после удаления DOCKER_OPTS="--iptables=false"
в конфигурации и перезапуска демона Docker.
В процессе запуска демон Docker настраивает некоторые дополнительные правила iptable, чтобы обеспечить хорошее взаимодействие между контейнерами / между контейнером и внешним миром, поскольку firewall / ufw будет отбрасывать пакеты на DEFAULT_FORWARD_POLICY
.
Ниже приведен грубый процесс, как докер создает правила iptable:
Включить Включить NAT на Docker0 с помощью инструмента iptables.
iptables -I POSTROUTING -t nat -s 172.17.0.1 ! -o docker0 -j MASQUERADE
Включение связи в контейнерах.
iptables -I FORWARD -i docker0 -o docker0 -j ACCEPT
Включить связь между контейнером и внешним миром.
iptables -I FORWARD -i docker0 ! -o docker0 -j ACCEPT
Принимать любые пакеты от внешних соединений, которые уже установлены.
iptables -I FORWARD -o docker0 -m conntrack -ctstate RELATED,ESTABLISHED -j ACCEPT
.
Прежде всего, у вас есть iptables
, установленный false и брандмауэр включен без каких-либо дополнительных действий. Точно так же, как вы выбрасываете ключ с закрытой дверью, но вы все еще хотите выйти на улицу. Поэтому я настоятельно рекомендую вам не изменять какие-либо настройки сети докера до того, как вы полностью поймете архитектуру сети докера и то, как эти компоненты работают вместе.
Это другой вопрос , заданный по-другому. Пусть ответы помогут вам больше.