Docker -compose: необходимо отключить брандмауэр и перезапустить службу docker при docker - PullRequest
0 голосов
/ 06 марта 2020

Я начинаю изучать, как использовать Docker и docker -композицию, и каждый раз, когда я перезагружаю свой компьютер, я получаю это сообщение при выполнении docker -композиции:

Создание сеть "dockerlemp_default" с драйвером по умолчанию

ОШИБКА: не удалось запрограммировать цепочку FILTER: сбой iptables: iptables --wait -I FORWARD -o br-74bd0d3628e8 -j DOCKER: iptables v1.6.1: Couldn ' t load target `DOCKER ': нет такого файла или каталога

Попробуйте` iptables -h' или 'iptables --help' для получения дополнительной информации.

После отключения брандмауэра выполнив команду sudo ufw disable и после перезапуска службы docker с помощью команды systemctl restart docker я смогу нормально создать свою docker. Но я должен делать это каждый раз, когда перезагружаюсь.

Может кто-нибудь объяснить мне, в чем проблема с iptables и как это исправить? Большое спасибо.

К вашему сведению, вот мои настройки:

Lenovo Ideapad 510S-08I SH - Процессор Intel® Core iM- i5-6400 @ 2,70 ГГц

Ubuntu 18.04.3 LTS Bioni c (менеджер окон i3wm)

Docker 18.09.7

docker - составить 1.17.1

1 Ответ

0 голосов
/ 06 марта 2020

Последние Docker версии действительно корректно манипулируют правилами iptables, даже в Debian / Ubuntu (вы не используете selinux, не так ли?). Так что эта ошибка означает, что некоторые библиотеки / конфиги не работают. Попробуйте выполнить следующие действия:

  1. Проверьте, присутствует ли цепочка DOCKER в правилах iptables (iptables --list-rules | grep '\-N\ DOCKER'). Если этого не произойдет, вы можете добавить команду iptables -N DOCKER в if-pre-up script (/etc/network/if-pre-up.d/iptables). Это просто обходной путь, лучшее решение - переустановить iptables и / или docker Последнее зависит от того, как вы его установили. Возможно, имеет смысл изменить метод (apt-get install docker.io вместо wget -qO- https://get.docker.com/ | sh и наоборот). В этом случае не забудьте сначала удалить Docker.
  2. Если присутствует цепочка DOCKER, проверьте, есть ли у вас команда iptables-restore в сценарии if-pre-up (обычно /etc/network/if-pre-up.d/iptables). Если да, то попробуйте заново создать исходный файл для iptables-restore или даже временно отключить iptables-restore.
  3. Проверьте свои Docker конфиги (/etc/docker/daemon.json и /etc/default/docker). Возможно, какое-то приложение написало там некоторые нежелательные опции.
...