Docker compose – это инструмент для определения и запуска многоконтейнерных приложений Docker.
Используя файл Compose для настройки служб вашего приложения, с помощью одной команды вы создаете и запускаете все службы из своей конфигурации.
Введение
Использование Compose обычно разделяется на три этапа:
- Определение окружения вашего приложения в Dockerfile, это можно сделать в любом месте.
- Определение сервисов из которых будет состоять ваше приложение в docker-compose.yml, впоследствии они смогут быть запущены все вместе в изолированном окружении.
- Выполнение команды
docker-compose up
которая запустит все ваше приложение.
Compose можно установить на Unraid 6.8.3 несколькими способами, а именно через curl, или же в виде привычного контейнера, но в данной статье, предлагаю рассмотреть способ, который использовал я сам.
Подготовка
Установка будет всего в 4 шага:
- Установка плагина Nerdpack из APPS
- Установка сопутствующих пакетов из Nerdpack
- Применение команд установки в консоли Unraid
- Добавление информации в файл GO
Шаг 1 – установка NerdPack
Переходим на вкладку APPS.
Через форму поиска находим Nerdpack и устанавливаем нажимая

Шаг 2 – установка сопутствующих пакетов
Переходим на вкладку SETTINGS на главной панели сервера, находим установленный в предыдущем шаге Nerdpack и кликаем по иконке:

В открывшемся окне появится список доступных пакетов, для Doker Compose, необходимы 4:
- python3
- python-pip
- python-setuptools
- libffi (не актуально на версии unRAID 6.9)
Устанавливается путем переключение ползунка справа, и внизу страницы, жмем APPLY подтверждая выбор и установку.

Шаг 3 – установка Docker Compose
Открываем терминал кликнув по значку в верхнем правом углу
Используем команду: pip3 install docker-compose

Результат должен быть как на скриншоте ниже:

Версию установленного Docker Compose можно проверить командой:
docker-compose --version
Шаг 4 – правки “GO” файла
Необходимо скорректировать GO файл, чтобы установленный Docker Compose не пропал после перезагрузки сервера на OS Unraid и устанавливался в автоматическом режиме.
Для правок GO переходим в терминал и применяем команду:
cd /boot/config
(переходим в папку конфиг)
Затем:
ls
(смотрим, что есть в этой папке).
Видим нужный нам файл ‘go’.

Далее открываем его с помощью текстового редактора Nano:
nano go
И вписываем строки для автоматической установки Docker Compose:
# docker-compose automatic install
pip3 install docker-compose
Результат должен выглядеть как на скриншоте ниже.

Пример установки Nextcloud + MariaDB с помощью Docker Compose
Как описывалось ранее, Docker Compose позволяет устанавливать разом несколько контейнеров, тем самым существенно облегчая процесс поднятия целых цепочек.
Для примера установим связку Nextcloud+Mariadb средствами Docker Compose.
Проходим на официальную страницу Nextcloud в докерхаб.
Находим Compose файл, для установки Nextcloud с веб-сервером Apache.

Содержимое выделяем и копируем в буфер CTRL+S
version: '2'
volumes:
nextcloud:
db:
services:
db:
image: mariadb
restart: always
command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW
volumes:
- db:/var/lib/mysql
environment:
- MYSQL_ROOT_PASSWORD=
- MYSQL_PASSWORD=
- MYSQL_DATABASE=nextcloud
- MYSQL_USER=nextcloud
app:
image: nextcloud
restart: always
ports:
- 8080:80
links:
- db
volumes:
- nextcloud:/var/www/html
environment:
- MYSQL_PASSWORD=
- MYSQL_DATABASE=nextcloud
- MYSQL_USER=nextcloud
- MYSQL_HOST=db
Открываем терминал в Unraid, вводим команды по очереди:
Переход в рабочую директорию
cd /mnt/user/appdata/
Создание папки nextcloud-compose
mkdir -p nextcloud-compose
Переход в созданную папку
cd /mnt/user/appdata/nextcloud-compose/
Создание установочного docker-compose файл
nano
Вставляем в пустой nano файл содержимое docker-compose файла, который мы скопировали выше.
Редактируем параметры под себя, те на, которые указал на скрине.

Жмем сочетание клавиш CTRL+S и сохраняем файл под именем:
docker-compose.yml
Выходим из nano, сочетанием клавиш CTRL+X
Теперь проверяем, что мы находимся в той же директории, пишем в консоли:
pwd
Вывод должен быть следующий:
/mnt/user/appdata/nextcloud-compose
В финале, запускаем установку Nextcloud через compose, пишем в терминале:
docker-compose up -d
Ждем пока закончится процесс установки:

Проверяем в браузере наш установленный Nextcloud по адресу, который указали в compose файле. У меня это 192.168.1.7:1111

Итог
Docker Compose позволяет упростить установку многокомпонентного софта, сокращая и упрощая процесс настройки сводя к редактированию первоначального конфига и нажатию кнопки запуск.
Благодарю. Полезная статья – сейчас взял анрейд в триале – пытаюсь разобраться.
Успехов в начинаниях!