Обзор развертывания MinIO на сервере¶
Предпосылки и предварительные требования¶
Для успешного развертывания приложения необходимо наличие сервера с операционной системой Linux. Требуется наличие прав суперпользователя (root) или возможность выполнения команд с использованием sudo.
Необходимо обеспечить доступ к интернету для загрузки скрипта установки Docker и образа контейнера.
Следующие порты должны быть доступны для внешнего подключения: - Порт 9000 для API объекта хранилища. - Порт 9001 для веб-консоли управления.
Структура файлов и каталогов¶
Приложение использует следующую структуру каталогов на хост-системе: - /mnt/data — директория для хранения данных объектов, монтируемая внутрь контейнера. - /tmp/get-docker.sh — временный файл скрипта установки Docker.
Конфигурация ключей доступа хранится внутри контейнера по пути /root/.minio/config.json.
Процесс установки приложения¶
Установка выполняется в несколько этапов, включающих подготовку окружения и запуск контейнера.
-
Загрузка скрипта установки Docker с официального репозитория:
-
Предоставление прав на выполнение скрипту:
-
Запуск скрипта установки:
-
Установка необходимых пакетов Python:
-
Развертывание контейнера MinIO с использованием образа
quay.io/minio/minio. Контейнер запускается с командойserver /data --console-address ':9001'.
Контейнеры Docker и их запуск¶
Приложение работает в виде одного контейнера Docker с именем minio.
Параметры запуска контейнера: - Имя контейнера: minio. - Образ: quay.io/minio/minio. - Маппинг портов: - 9000:9000 (API). - 9001:9001 (Консоль). - Монтирование тома: /mnt/data:/data. - Команда запуска: server /data --console-address ':9001'.
Для проверки доступности сервиса после запуска используется ожидание подключения к порту 9000 на хосте 127.0.0.1 с таймаутом 60 секунд.
Права доступа и безопасность¶
Доступ к управлению контейнером и настройке ключей осуществляется через выполнение команд внутри контейнера.
Для настройки ключей доступа и секретных ключей используется следующая команда:
docker exec minio sh -c "echo 'YOUR_ACCESS_KEY' > /root/.minio/config.json && echo 'YOUR_SECRET_KEY' >> /root/.minio/config.json"
YOUR_ACCESS_KEY и YOUR_SECRET_KEY должны быть заменены на актуальные учетные данные. Запуск, остановка и обновление¶
Управление контейнером осуществляется стандартными командами Docker.
Запуск контейнера (выполняется автоматически при развертывании):
docker run -d --name minio -p 9000:9000 -p 9001:9001 -v /mnt/data:/data quay.io/minio/minio server /data --console-address ':9001'
Остановка контейнера:
Перезапуск контейнера:
Удаление контейнера:
Обновление образа контейнера: