Олег Марков
Развертывание MinIO в Docker
Введение
Сегодня использование объектного хранилища становится неотъемлемой частью разработки и поддержки приложений. MinIO — это легкое, высокоэффективное распределенное объектное хранилище с открытым исходным кодом, полностью совместимое с Amazon S3 API. В этой статье мы посмотрим, как развернуть MinIO в контейнере Docker, чтобы сделать этот процесс максимально простым и удобным.
MinIO предлагает основные функции хранения данных, такие как масштабируемость, высокая доступность и интеграция с различными приложениями. Мы пройдем шаг за шагом через установку MinIO в Docker и кратко рассмотрим его основные функции.
Установка Docker
Прежде чем мы начнем с MinIO, убедитесь, что Docker установлен и настроен на вашем сервере или локальной машине. Если у вас еще нет Docker, следуйте их официальным руководствам для установки на вашу операционную систему.
Установка Docker на Ubuntu
# Обновите индекс пакетов
sudo apt update
# Установите пакеты для использования репозитория apt по HTTPS
sudo apt install apt-transport-https ca-certificates curl software-properties-common
# Добавьте ключ GPG для официального репозитория Docker
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
# Добавьте Docker репозиторий в источники APT
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
# Обновите индекс пакетов и установите Docker
sudo apt update
sudo apt install docker-ce
Проверка установки Docker
После установки Docker, вы можете проверить его работу:
# Проверить, что Docker запущен
sudo systemctl status docker
# Запустить тестовый контейнер
sudo docker run hello-world
Если контейнер hello-world выполнился успешно, значит, Docker установлен и работает корректно.
Развертывание MinIO
Теперь, когда у нас есть установленный и работающий Docker, можно приступать к развертыванию MinIO.
Скачать и развернуть контейнер MinIO
MinIO предоставляет официальный Docker-образ, который мы будем использовать для нашего развертывания. Давайте посмотрим, как это сделать.
# Создаем директорию для хранения данных MinIO
mkdir -p ~/minio/data
# Запускаем контейнер MinIO
docker run -p 9000:9000 --name minio -v ~/minio/data:/data -e "MINIO_ROOT_USER=admin" -e "MINIO_ROOT_PASSWORD=password" minio/minio server /data
Обратите внимание, что мы:
- Прокинули порт 9000 для доступа к MinIO.
- Установили переменные окружения для задания администратора и пароля.
- Размонтировали локальную директорию для хранения данных, которые будут доступны внутри контейнера.
Доступ к панели управления MinIO
После старта контейнера MinIO доступен через веб-интерфейс. Откройте браузер и перейдите по адресу http://localhost:9000
. Введите ранее заданные логин и пароль (например, admin
и password
), чтобы войти в систему.
Основные возможности MinIO
Теперь, когда у вас есть работающий инстанс MinIO, давайте обсудим его основные функции.
Интерфейс совместимости с S3
MinIO полностью совместим с Amazon S3 API. Это означает, что вы можете использовать существующие S3 клиентские библиотеки и инструменты для работы с MinIO. Это делает переход на MinIO довольно простым для тех, кто знаком с экосистемой AWS.
Облачное хранение и распределенные системы
MinIO поддерживает создание распределенных систем хранения, что позволяет обеспечить высокую доступность данных и их отказоустойчивость. Вы можете развернуть несколько экземпляров MinIO и настроить их в конфигурации для кластера.
Управление пользователями и политиками
С помощью MinIO вы можете создавать и управлять пользователями и назначать им различные роли и политики доступа, чтобы обеспечить безопасность данных. Управление правами доступа аналогично таковому в AWS IAM.
Теперь давайте сделаем обзор того, как вы можете добавить пользователей и управлять правами доступа.
Добавление пользователя
Используйте следующие команды в вашем MinIO-клиенте или через API для добавления пользователя:
mc admin user add myminio newuser newpassword
mc
— это клиентская утилита MinIO.myminio
— это алиас вашего MinIO-сервера.newuser
иnewpassword
— это имя нового пользователя и его пароль.
Управление правами доступа
Вы можете управлять правами доступа с помощью политик:
mc admin policy add myminio readonly mypolicyfile.json
mc admin policy set myminio readonly user=newuser
Здесь мы создаем политику и назначаем ее пользователю, что ограничивает его права, например, только на чтение.
Заключение
Развертывание MinIO в Docker — это удобный и быстрый способ получить полноценное объектное хранилище для ваших приложений. MinIO предлагает множество полезных функций, таких как полная совместимость с API S3, возможность построения распределенных систем и управление доступом на уровне пользователей и политик. Используя Docker, вы можете легко масштабировать и обновлять ваши развертывания. Теперь у вас достаточно информации для начала работы с MinIO на платформе Docker. Найдите наиболее подходящую конфигурацию для ваших нужд и воспользуйтесь всеми преимуществами MinIO в вашем следующем проекте.
Карта развития разработчика
Получите полную карту развития разработчика по всем направлениям: frontend, backend, devops, mobile