[ Пред. ] [ main ] [ След. ]

Установка Docker

 

Прежде чем устанавливать Docker в OMV, есть смысл погонять его на своём ноуте.


Пример: https://habr.com/ru/post/188362/ Как всё настроить по-быстрому" — это отдельная тема. Основы и установка просты, но с конфигами придётся повозиться.


https://wiki.omv-extras.org/doku.php?id=omv7:docker_in_omv#install_and_configure_docker


Подготовить установку Docker


Обновить OMV по-максимуму


System
> Update Management 
> [Check]


Прописать/проверить DNS server


Если IP-адрес NAS в настройках роутера был динамическим, то добавление гугловского днс этот IP-адрес поменяет. Если он уже был прописан, то вряд ли, но всё равно придётся глянуть для уверенности и проверить соеднение по ssh.


Если к NAS был предопределён доступ извне по IP, то IP-адрес будет изменён наверняка.


8.8.8.8 — это DNS Google.


Можно указать другой, если есть под рукой.


Network 
> Interfaces 
> отредактировать существующее подключение (Ethernet, конечно же) 
> Advanced settings 
> DNS servers = 8.8.8.8

Создать нового юзера только для Docker


Это НЕ должен быть существующий root или юзер с ролью admin по всей системе, поэтому надо сделать нового (Users:Добавить пользователей). Назовём его mydoker — да, нарочно без буквы «c».


Трижды перепроверить правильность пароля у этого юзера, иначе потом будут траблы на ровно месте.


Добавить нового юзера mydoker в группы



Не ставить галочку для „Disallow account modification”.


Проверить, что mydoker может зайти на NAS через ssh. Для этого ему будет нужен SSH:Сделать личный ssh-ключ.


Его можно сделать или локально, или непосредственно на NAS.


Затем


ssh mydoker@192.168.50.60 (или какой там IP)


Создать shared-каталоги для Docker


Можно положить их на один диск или на разные — nevermind, но надо учесть, что туда будет записываться много информации, поэтому лучше положить их на hdd с запасом по объёму.


Может показаться, что проще положить несколько каталогов в один общий каталог (это ок) и сделать только shared только головной. Но надо сделать отдельные каталоги для разных типов данных и надо каждый этот каталог сделать shared по-отдельности, потому что дальше в настройках надо будет указывать отдельные шары для отдельных операций.


Поэтому создаем на отдельном диске каталог „docker“ и внутри него каталоги


  1. app
  2. backup
  3. composefiles
  4. containers
  5. data


Посему:


  1. Залогиниться под юзером mydoker
  2. Выбрать подходящий диск
  3. Создать в его корне каталог „docker
  4. Создать внутри него сразу несколько каталогов (downloads и media — опционально):

mkdir app backup composefiles containers data downloads media


  1. Сделать каждый из этих каталогов shared — Shared Folders:Добавить shared-каталог — с настройками доступа «Everyone read/write».

Аккуратно к названиям каталогов. В системе не должно быть shared-каталогов с идентичным названием, даже если они «смотрят» в разные места. Разумно назвать докеровские shared-каталоги с приставкой вроде „dkr”:


  1. dkr.backup
  2. dkr.composefiles
  3. dkr.containers
  4. dkr.data

Каталог “app” делать shared не надо.


Установить плагины для Docker


Сперва должны быть установлены плагины Reset Permisions и OMV-Extras — см. Установка OMV:Настроить плагины


В будущем настройки прав для каталога «appdata» придётся сбрасывать неоднократно, Docker иногда по-своему перезаписывает права доступа.


Включить Docker repo


System
> omv-extras
поставить галочку для Docker-repo (вероятно, она уже поставлена)


Кликнуть по [apt-clean] и дождаться финиша.


Установить плагин openmediavault-compose


System
> Plugins
> установить плагин openmediavault-compose


Обычно всё по-умолчанию устанавливается в /var/lib/docker. Если у нас в принципе один диск, то ок. Если же система на ssd, а всё остальное на hdd (как и полагается в nas), то это всё надо поменять. Там нужно постоянно под 50 Gb свободного места, кагбэ…


Установить плагин openmediavault-k8s


Это Kubernetes. Опционально, в основе не нужен, буду всё делать через Compose.


System
> Plugins
> установить плагин openmediavault-k8s


Установить Docker Compose


Services
> Compose
> Settings


Указать shared folder для Compose Files: dkr.composefiles

Owner of directories and files = mydoker
Group: sudo
Permissions of directories and files: Administrator - read/write, Users - no access, Others - no access


Указать shared folder для Data: dkr.data


Указать shared folder для Backup: dkr.backup


Указать Docker Storage:

по-умолчанию указано /var/lib/docker — но там еще ничего нет. Тут надо указать диск и каталог, в котором Docker будет постоянно «жить и работать». Какой каталог будет указан — там и появится Docker.
я уже сделал в каталоге с файлами Docker новый каталог с именем “app”.
указать в этом поле что-то вроде /srv/dev-disk-by-uuid-a165a938…/docker/app


Save.


Кликнуть „Enable Docker repo”.


В полях
Status: Uninstalled
Docker version: n/a
Compose version: n/a


Это нормально.


Проверить установленный Docker


Зайти на NAS по ssh и последовательно запросить информацию:


  1. docker --version
  2. docker-compose --version
  3. sudo docker info | grep Root

Ожидаемый ответ после последней команды:


Docker Root Dir: /srv/dev-disk-by-uuid-a165a938…/docker/app


В этот каталог отныне может заходить только root.


Перезапустить сервис Docker:


sudo systemctl start docker


Если всё ок, ответом будет тишина.


Проверить дефолтное состояние докера


sudo docker ps


Ожидаемый ответ: таблица с контейнерами


CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES


Она пустая, контейнеров ещё нет.


Вернуться в


Services
> Compose
> Settings


и кликнуть по [Restart Docker]. После этого в полях
Status: Installed and running
Docker version: что-то новое
Compose version: что-то новое


Next step: Настройка контейнеров