Ubuntu Docker не работает - PullRequest
       11

Ubuntu Docker не работает

0 голосов
/ 08 июня 2018

Я запускаю команду с dockerd в подсистеме win10 (ubuntu 16.04LTS), но она не работает и показывает следующее содержимое:

WARN [2018-06-08T06: 48:49.740127000 + 08: 00] Не удалось установить общий доступ к корню демона, это обычно не критично, но может привести к тому, что некоторые функции не будут работать или откатится к менее желательному поведению dir = / var / lib / docker error = "неверный аргумент" INFO [2018-06-08T06: 48: 49.753965500 + 08: 00] libcontainerd: запущен новый pid процесса-контейнера-докера = 386 INFO [0000] запускается модуль containerd = ревизия containerd = 773c489c9c1b21a6d78b5c538cd395416ec50f88 версия = v1.0.3 плагин INFO [0000] загрузка.containerd.content.v1.content "... module = containerd type = io.containerd.content.v1 INFO [0000] плагин загрузки" io.containerd.snapshotter.v1.btrfs "... module = containerd type = io.containerd.snapshotter.v1 WARN [0000] не удалось загрузить плагин io.containerd.snapshotter.v1.btrfs error = "путь /var/lib/docker/containerd/daemon/io.containerd.snapshotter.v1.btrfs должен бытьBTRфайловая система fs, которая будет использоваться с btrfs snapshotter "module = containerd INFO [0000] плагин загрузки" io.containerd.snapshotter.v1.overlayfs "... module = containerd type = io.containerd.snapshotter.v1 INFO загрузка [0000]плагин "io.containerd.metadata.v1.bolt" ... module = containerd type = io.containerd.metadata.v1 ПРЕДУПРЕЖДЕНИЕ [0000] не удалось использовать моментальный снимок btrfs при ошибке плагина метаданных = "path / var / lib / docker /containerd / daemon / io.containerd.snapshotter.v1.btrfs должен быть файловой системой btrfs для использования с btrfs snapshotter "module =" containerd / io.containerd.metadata.v1.bolt "INFO [0000] загрузочный плагин" io.containerd.differ.v1.walking "... module = containerd type = io.containerd.differ.v1 INFO [0000] плагин загрузки" io.containerd.gc.v1.scheduler "... module = containerd type = io.containerd.gc.v1 INFO [0000] плагин загрузки "io.containerd.grpc.v1.containers" ... module = containerd type = io.containerd.grpc.v1 INFO [0000] плагин загрузки "io.containerd.grpc.v1.content "... module = containerd type = io.containerd.grpc.v1 INFO [0000] плагин загрузки "io.containerd.grpc.v1.diff" ... module = containerd type = io.containerd.grpc.v1 INFO [0000] плагин загрузки "io.containerd.grpc.v1.events" ...module = containerd type = io.containerd.grpc.v1 INFO [0000] плагин загрузки «io.containerd.grpc.v1.healthcheck» ... module = containerd type = io.containerd.grpc.v1 INFO [0000] плагин загрузки«io.containerd.grpc.v1.images» ... module = containerd type = io.containerd.grpc.v1 INFO [0000] плагин загрузки «io.containerd.grpc.v1.leases» ... module = тип containerd= io.containerd.grpc.v1 INFO [0000] плагин загрузки "io.containerd.grpc.v1.namespaces" ... module = containerd type = io.containerd.grpc.v1 INFO [0000] плагин загрузки "io.containerd.grpc.v1.snapshots "... module = containerd type = io.containerd.grpc.v1 INFO [0000] плагин загрузки" io.containerd.monitor.v1.cgroups "... module = containerd type = io.containerd.monitor.v1 INFO [0000] плагин загрузки "io.containerd.runtime.v1.linux" ... module = containerd type = io.containerd.runtime.v1 INFO [0000] плагин загрузки "io.containerd.grpc.v1.tasks "... module = containerd type = io.containerd.grpc.v1 INFO [0000] плагин загрузки" io.containerd.grpc.v1.version "... module = containerd type = io.containerd.grpc.v1 INFO [0000] плагин загрузки "io.containerd.grpc.v1.introspection" ... module = containerd type = io.containerd.grpc.v1 INFO [0000] обслуживающий ... адрес = "/ var /run / docker / containerd / docker-containerd-debug.sock "module =" containerd / debug "INFO [0000] Обслуживание ... адрес =" / var / run / docker / containerd / docker-containerd.sock "module ="containerd / grpc "INFO [0000] containerd успешно загружен в модуле 0,052238s = containerd INFO [2018-06-08T06: 48: 49.848907600 + 08: 00] [graphdriver] с использованием предыдущего драйвера хранилища: overlay2 INFO [2018-06-08T06:48: 49.875020600 + 08: 00] Миграция графика на контент-адресуемость заняла 0,00 секундыWARN [2018-06-08T06: 48: 49.875364600 + 08: 00] Ваше ядро ​​не поддерживает ограничение памяти cgroup. WARN [2018-06-08T06: 48: 49.875838500 + 08: 00] Невозможно найти cpu cproup в монтируемых файлах WARN [2018-06-08T06: 48: 49.876236300 + 08: 00] Невозможно найти группу blkio в монтированиях WARN [2018-06-08T06: 48: 49.877373300 + 08: 00] Невозможно найти группу cpuset в монтированиях WARN [2018-06-08T06: 48: 49.888299100 + 08: 00] точка монтирования для pids не найдена INFO [2018-06-08T06: 48: 49.890328400 + 08: 00] Загрузка контейнеров: начало.ПРЕДУПРЕЖДЕНИЕ [2018-06-08T06: 48: 49.906233900 + 08: 00] Ошибка запуска modprobe nf_nat с сообщением: modprobe: ERROR: ../libkmod/libkmod.c:586 kmod_search_moddep() could not open moddep file '/lib/modules/4.4.0-17134-Microsoft/modules.dep.bin' modprobe: WARNING: Module nf_nat not found in directory /lib/modules/4.4.0-17134-Microsoft, ошибка: состояние выхода 1 ПРЕДУПРЕЖДЕНИЕ [2018-06-08T06: 48: 49.934145900 + 08: 00] Запуск modprobeОшибка xt_conntrack с сообщением: modprobe: ERROR: ../libkmod/libkmod.c:586 kmod_search_moddep() could not open moddep file '/lib/modules/4.4.0-17134-Microsoft/modules.dep.bin' modprobe: WARNING: Module xt_conntrack not found in directory /lib/modules/4.4.0-17134-Microsoft, ошибка: состояние выхода 1 Ошибка запуска демона: Ошибка инициализации сетевого контроллера: ошибка при получении экземпляра контроллера: не удалось создать цепочку NAT DOCKER: ошибка iptables: iptables -t nat -N DOCKER: iptables v1.6.0: не может инициализировать таблицу iptables `nat ': Таблица не существует (вам нужно выполнить insmod?) Возможно, необходимо обновить iptables или ваше ядро.(выход из состояния 3)

Кажется, это проблема iptables, и я попытался sudo apt-get install iptables, но она недействительна.

Как запустить демон Docker?

Ответы [ 2 ]

0 голосов
/ 08 июня 2018

Dockerd - это обёртка вокруг LXC-контейнеров.Таким образом, LXC является оболочкой для пространств имен ядра Linux.Подсистема Linux для Windows не имеет полноценного ядра Linux и, возможно, не имеет функциональности пространства имен внутри.Если вам нужно запустить контейнеры в Windows - попробуйте docker-machine.

0 голосов
/ 08 июня 2018

WSL (Windows Subsystem для Linux) - это просто "облегченный" linux, а не полный.

Вы можете сделать некоторые простые вещи, но это не гарантированно сработает.Я думаю, что эта система больше похожа на доказательство концепции, что она действительно работает.Он не предназначен для полноценного Linux, просто для запуска некоторых простых команд внутри.

docker - действительно тяжелая программа, выполняющая виртуализацию и другие низкоуровневые вещи.Он сильно зависит от некоторых функций / модулей ядра, которые вы не можете эмулировать в WSL.Например, iptables требуется полноценное работающее ядро ​​с низкоуровневой сетью, которое не может быть установлено.

...