Невозможно запустить Docker в WSL2 с помощью нового терминала Windows
Я недавно установил WSL2 и установил Ubuntu из Microsoft Store. Когда я запускаю Docker, используя
Запуск докера службы Sudo, я получаю сообщение ниже
Cannot connect to the Docker daemon. Is the docker daemon running on this host?
Я следовал за шагами согласно этому Ответу и сделал ниже
sudo groupadd docker
sudo usermod -aG docker $(whoami)
Но все еще не могу запустить Docker... при проверке журналов Docker, я мог видеть ниже
CONNECTING" module=grpc Ошибка запуска демона: Ошибка инициализации сетевого контроллера: ошибка при получении экземпляра контроллера: не удалось создать цепочку NAT DOCKER: сбой iptables: iptables -t nat -N DOCKER: iptables v1.6.1: невозможно инициализировать таблицу iptables nat ': Таблица не существует (вам нужно выполнить insmod?) Возможно, iptables или ваше ядро необходимо обновить (состояние выхода 3) `
4 ответа
Я перепробовал много шагов на основе ошибки ниже
не может инициализировать таблицу iptables nat': таблица не существует (вам нужно выполнить insmod?) Возможно, необходимо обновить iptables или ваше ядро. (выход из состояния 3) `
Но Запуск Терминала от имени администратора работал. Даже если вы запускаете
Sudo Service Docker start
Терминал должен быть запущен от имени администратора
sudo update-alternatives --set iptables /usr/sbin/iptables-legacy
sudo update-alternatives --set ip6tables /usr/sbin/ip6tables-legacy
из https://forums.docker.com/t/failing-to-start-dockerd-failed-to-create-nat-chain-docker/78269
Я мог опоздать, но я столкнулся с похожей проблемой, и решение было совершенно другим.
Я публикую здесь для кого-то, если он / она получает подобную проблему.
Проблема, с которой я столкнулся.
Я устанавливаю wsl и докер на своей новой машине. Я не могу запустить dockerd в wsl2. Как предлагает TheGameiswar, я могу запустить dockerd, если запущу терминал от имени администратора, но я все еще не могу запустить ни один образ.
Основная причина
По умолчанию используется wsl версии 1 (wsl 1), а для docker требуется wsl2.
Решение
Установите версию wsl по умолчанию на 2
wsl --set-default-version 2
установите установленный дистрибутив на wsl2
wsl --set-version Ubuntu-20.04 2
Здесь есть отличное руководство, в котором приведены некоторые современные инструкции и некоторые предпосылки для использования WSL 2 и нового рабочего стола докера.