Github star 19K+Star, 10-минутное самостоятельное хранилище объектов!

Java
Github star 19K+Star, 10-минутное самостоятельное хранилище объектов!

Адрес фактического центра электронной коммерции SpringBoot (25k+star):GitHub.com/macro-positive/…

Резюме

Сервисы хранения объектов могут использоваться для хранения различных типов файлов,mallХранилище изображений в проекте использует OSS.Сегодня мы поговорим о том, как построить сервис объектного хранилища для хранения изображений.

Введение в MinIO

MinIO — это высокопроизводительный сервис хранения объектов, основанный на языке Go, с 19 тысячами звезд на Github. Он использует протокол с открытым исходным кодом Apache License v2.0, который очень подходит для хранения неструктурированных данных большой емкости, таких как изображения, видео, файлы журналов, резервные данные и образы контейнеров/виртуальных машин. В этой статье MinIO будет использоваться для создания службы хранения объектов для хранения изображений.

Установить и развернуть

Есть много способов установить MinIO, здесь мы используем его метод установки в среде Docker.

  • Загрузите Docker-образ MinIO:
docker pull minio/minio
  • Запускаем MinIO в Docker-контейнере, сюда вешаем папки данных и конфигурации MiniIO на хост:
docker run -p 9090:9000 --name minio \
  -v /mydata/minio/data:/data \
  -v /mydata/minio/config:/root/.minio \
  -d minio/minio server /data
  • После успешного завершения операции перейдите по указанному адресу, чтобы войти в систему и использовать MinIO. Ключ доступа и секрет по умолчаниюminioadmin:http://192.168.6.132:9090

Загружайте файлы и пользуйтесь

Функцию загрузки и загрузки файлов можно выполнить с помощью веб-страницы MinIO.Давайте возьмем загрузку и загрузку изображения в качестве примера, чтобы продемонстрировать эту функцию.

  • Перед сохранением файлов нам нужно создать новую корзину:

  • После того, как ведро создано, вы можете загружать файлы через кнопку загрузки Здесь мы загружаем изображение:

  • После завершения загрузки изображения мы можем получить путь доступа к изображению, скопировав кнопку ссылки, но это только временный путь доступа:

  • Чтобы получить постоянный путь доступа, вам необходимо изменить политику доступа корзины.Мы можем нажать кнопку «Изменить политику» в правом верхнем углу корзины, чтобы изменить политику доступа;

  • Есть три политики доступа на выбор: одна только для чтения, одна только для записи и одна для чтения и записи.Здесь мы можем выбрать только для чтения, но следует отметить, что префикс доступа должен быть установлен на*.*, иначе он будет недоступен;

  • После завершения настройки нам нужно только скопировать предыдущую строку путей в ссылке, чтобы получить постоянный доступ к файлу;

  • Посетите демонстрацию эффектов изображения:

Использование клиента MinIO

Хотя веб-управление MinIO очень удобно, официальный сайт по-прежнему предоставляет нам клиент на основе командной строки, MinIO Client (называемый mc), Давайте поговорим о том, как его использовать.

Общие команды

Давайте сначала познакомимся с командами mc.Эти команды имеют много общего с командами в Linux.

Заказ эффект
ls Список файлов и папок
mb Создайте корзину или папку
cat Отображать содержимое файла и объекта
pipe Перенаправляет STDIN на объект или файл или STDOUT
share Создайте URL-адрес для обмена
cp Копировать файлы и объекты
mirror Сделайте зеркало в ведре и папку
find Поиск файлов по параметрам
diff Сравните различия между двумя папками или сегментами
rm Удалить файлы и объекты
events Управление уведомлениями объектов
watch Прослушивание событий в файлах и объектах
policy Управление политиками доступа
session Управление сохраненными сеансами для команды cp
config Управление профилями mc
update Проверить наличие обновлений программного обеспечения
version информация о выходной версии

Установка и настройка

Поскольку сервер MinIO не имеет собственного клиента, нам необходимо установить и настроить клиент, прежде чем его можно будет использовать.В качестве примера мы возьмем установку в среде Docker.

  • Загрузите Docker-образ клиента MinIO:
docker pull minio/mc
  • Запустите MC в контейнере Docker:
docker run -it --entrypoint=/bin/sh minio/mc
  • После завершения операции нам необходимо сконфигурировать и настроить собственный сервис MinIO на клиенте.Формат конфигурации следующий:
mc config host add <ALIAS> <YOUR-S3-ENDPOINT> <YOUR-ACCESS-KEY> <YOUR-SECRET-KEY> <API-SIGNATURE>
  • Для нашего сервиса MinIO можно настроить так:
mc config host add minio http://192.168.6.132:9090 minioadmin minioadmin S3v4

Общие операции

  • Просмотрите ведро и просмотрите файлы, присутствующие в ведре:
# 查看存储桶
mc ls minio
# 查看存储桶中存在的文件
mc ls minio/blog

  • Создатьtestведро:
mc mb minio/test

  • общийavatar.pngПуть загрузки файла:
mc share download minio/blog/avatar.png

  • найтиblogpng файлы в ведре:
mc find minio/blog --name "*.png"

  • настраиватьtestДоступ к корзине есть只读:
# 目前可以设置这四种权限:none, download, upload, public
mc policy set download minio/test/
# 查看存储桶当前权限
mc policy list minio/test/

использованная литература

Чтобы узнать больше о MinIO, обратитесь к официальной документации:docs.min.io/talent/mini-oh-go…

публика

проект торгового центраПолный набор учебных пособий сериализуется,Обратите внимание на публичный аккаунтПолучите это прямо сейчас.

公众号图片