Не могу установить докер на Ubuntu 17.10
У меня есть: Ubuntu 17.10 - ядро 4.13.0-19-generic
Нет докера на машине
Установка docker выполняется по https://github.com/docker/docker-install, т.е.
curl -fsSL get.docker.com -o get-docker.sh
sh get-docker.sh
я получил
$ docker -v
Docker version 17.11.0-ce, build 1caf76c
Хорошо, когда я запускаю $ sudo в доке, я получаю
ERRO[2017-12-15T17:33:21.314578657+01:00] 'overlay' не найден в качестве поддерживаемой файловой системы на этом хосте. Убедитесь, что ядро достаточно новое и загружена поддержка оверлеев.
ERRO [2017-12-15T17: 33: 21.316522224 + 01: 00] 'overlay' не найден в качестве поддерживаемой файловой системы на этом хосте. Убедитесь, что ядро достаточно новое и загружена поддержка оверлеев. Ошибка запуска демона: ошибка инициализации graphdriver: devicemapper:
Ошибка запуска deviceCreate (CreatePool) dm_task_run завершилась ошибкой
Я пытаюсь снова, и получаю это время
ERRO[2017-12-15T17:35:24.814595903+01:00] [graphdriver] предыдущий драйвер устройства хранения не сработал: устройство отображения: ошибка при запуске deviceCreate (CreatePool) dm_task_run завершилась неудачно
Ошибка запуска демона: ошибка инициализации graphdriver: devicemapper: Ошибка при запуске deviceCreate (CreatePool) dm_task_run не удалось
В чем дело?
1 ответ
Я установил новую виртуальную машину с Ubuntu 17.10 в Virtualbox и обновил пакеты с помощью apt.
Текущая версия ядра:
$ uname -a
Linux test-VirtualBox 4.13.0-19-generic #22-Ubuntu SMP Mon Dec 4 11:58:07 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
Я устанавливаю Docker, используя предложенный вами скрипт:
apt-get install curl -y
curl -fsSL get.docker.com -o get-docker.sh
sh get-docker.sh
Я добавляю свою учетную запись в группу Docker:
sudo usermod -aG docker test
Я выхожу и снова вхожу в систему, поэтому членство в моей группе обновляется
Я проверяю версию CLI докера:
docker version
Client:
Version: 17.11.0-ce
API version: 1.34
Go version: go1.8.5
Git commit: 1caf76c
Built: Mon Nov 20 18:36:39 2017
OS/Arch: linux/amd64
Server:
Version: 17.11.0-ce
API version: 1.34 (minimum version 1.12)
Go version: go1.8.5
Git commit: 1caf76c
Built: Mon Nov 20 18:35:09 2017
OS/Arch: linux/amd64
Experimental: false
Установлен Docker 17.11 CE (edge).
Я запускаю демон docker и включаю его:
$ sudo systemctl status docker
$ sudo systemctl enable docker
Я проверяю, что демон Docker работает хорошо
$ sudo systemctl status docker
● docker.service - Docker Application Container Engine
Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
Active: active (running) since Mon 2017-12-18 20:37:32 CET; 4min 35s ago
Docs: https://docs.docker.com
Main PID: 2028 (dockerd)
Tasks: 18 (limit: 4915)
Memory: 35.7M
CPU: 2.641s
CGroup: /system.slice/docker.service
├─2028 /usr/bin/dockerd -H fd://
└─2033 docker-containerd --config /var/run/docker/containerd/containerd.toml
dic 18 20:37:29 test-VirtualBox dockerd[2028]: time="2017-12-18T20:37:29.670548640+01:00" level=warning msg="Your kernel does not support swap memory limit"
dic 18 20:37:29 test-VirtualBox dockerd[2028]: time="2017-12-18T20:37:29.674459227+01:00" level=warning msg="Your kernel does not support cgroup rt period"
dic 18 20:37:29 test-VirtualBox dockerd[2028]: time="2017-12-18T20:37:29.674701645+01:00" level=warning msg="Your kernel does not support cgroup rt runtime"
dic 18 20:37:29 test-VirtualBox dockerd[2028]: time="2017-12-18T20:37:29.680586963+01:00" level=info msg="Loading containers: start."
dic 18 20:37:30 test-VirtualBox dockerd[2028]: time="2017-12-18T20:37:30.678377763+01:00" level=info msg="Default bridge (docker0) is assigned with an IP address 172.17.0
dic 18 20:37:31 test-VirtualBox dockerd[2028]: time="2017-12-18T20:37:31.543493214+01:00" level=info msg="Loading containers: done."
dic 18 20:37:31 test-VirtualBox dockerd[2028]: time="2017-12-18T20:37:31.869113420+01:00" level=info msg="Docker daemon" commit=1caf76c graphdriver(s)=overlay2 version=17
dic 18 20:37:31 test-VirtualBox dockerd[2028]: time="2017-12-18T20:37:31.873009943+01:00" level=info msg="Daemon has completed initialization"
dic 18 20:37:32 test-VirtualBox systemd[1]: Started Docker Application Container Engine.
dic 18 20:37:32 test-VirtualBox dockerd[2028]: time="2017-12-18T20:37:32.192666262+01:00" level=info msg="API listen on /var/run/docker.sock"
Docker-демон использует overlay2 в качестве драйвера хранилища.
$ docker info
Containers: 0
Running: 0
Paused: 0
Stopped: 0
Images: 0
Server Version: 17.11.0-ce
Storage Driver: overlay2
Backing Filesystem: extfs
Supports d_type: true
Native Overlay Diff: true
Logging Driver: json-file
Cgroup Driver: cgroupfs
Модуль оверлея загружен:
lsmod | grep overlay
overlay 69632 0
Я перезагрузил сервер и проверил, что Docker запущен нормально, и я могу запустить контейнер hello-world:
$ docker run hello-world
...
Hello from Docker!
Все выглядит хорошо! Поэтому я предлагаю вам запустить ваш демон docker, используя systemctl, вместо того, чтобы запускать его с помощью dockerd из оболочки.