docker - запуск не удался, потому что /etc/fstab не найден

Я использую Window Linux Subsystem (Debian Stretch). Следуя инструкции на сайте Docker, я установил docker-ce, но он не может запуститься. Вот информация:

$ sudo service docker start
grep: /etc/fstab: No such file or directory
[ ok ] Starting Docker: docker.
$ sudo service docker status
[FAIL] Docker is not running ... failed!

Что мне делать с /etc/fstab не найдено?

4 ответа

исправить fstab

      touch /etc/fstab

если ты побежишь dockerd, он выдаст вам сообщение об ошибке:

      INFO[2022-01-27T17:55:14.100489400+07:00] Loading containers: start.
WARN[2022-01-27T17:55:14.191666800+07:00] Running iptables --wait -t nat -L -n failed with message: `iptables v1.8.2 (nf_tables):  CHAIN_ADD failed (No such file or directory): chain PREROUTING`, error: exit status 4
INFO[2022-01-27T17:55:14.493716300+07:00] stopping event stream following graceful shutdown  error="<nil>" module=libcontainerd namespace=moby
INFO[2022-01-27T17:55:14.494906600+07:00] stopping event stream following graceful shutdown  error="context canceled" module=libcontainerd namespace=plugins.moby
INFO[2022-01-27T17:55:14.495048400+07:00] stopping healthcheck following graceful shutdown  module=libcontainerd
failed to start daemon: Error initializing network controller: error obtaining controller instance: failed to create NAT chain DOCKER: iptables failed: iptables --wait -t nat -N DOCKER: iptables v1.8.2 (nf_tables):  CHAIN_ADD failed (No such file or directory): chain PREROUTING
 (exit status 4)

это проблема Debian nat, исправьте ее с помощью:

      sudo update-alternatives --set iptables /usr/sbin/iptables-legacy
sudo update-alternatives --set ip6tables /usr/sbin/ip6tables-legacy

теперь вы можете снова запустить службу

вы можете следовать этому, чтобы он запускался при запуске /questions/18405587/virtualnaya-klaviatura-dlya-brauzera-osnovannogo-na-qtwebkit-ili-kak-ya-mogu-poluchit-tekuschee-tekstovoe-pole/18405604#18405604

Отредактировано:

если проблема с таблицей IP все еще сохраняется, попробуйте установить версию WSL на 2:

      wsl --set-version <distribution name> 2

список рассылки можно найти с помощью команды wsl -l

Я получаю ту же ошибку. По-видимому, в моей установке WSL с Debian у меня не было файла etc/fstab. Удивительно, но создание файла с помощью "touch" сработало:

sudo touch /etc/fstab

Возможно, хороший сигнал https://docs.microsoft.com/en-us/windows/wsl/release-notes

WSL теперь обрабатывает файл /etc/fstab во время запуска экземпляра [GH 2636].

Для тех, кто наткнется на это годы спустя, как я, Docker не работает внутри WSL.

Но вы можете использовать Docker для Windows и WSL2 для запуска собственных контейнеров внутри вашего дистрибутива Linux, а установка и настройка совершенно безболезненны https://docs.microsoft.com/en-us/windows/wsl/tutorials/wsl-containers .

Другие вопросы по тегам