Обложка канала

Типа про IT

1563 @tipaproit

Типа про IT и вот это вот всё — full stack development и современные инструменты, подборки и рекомендации, интересные находки и практические советы. Профессиональный авторский контент.

Типа про IT

4 года назад
Открыть в
​​🤖 MinIO — это S3 compatible object storage, который совместим с оригинальным на уровне API. Чаще всего MinIO используют тогда, когда хочется по-честному потестировать взаимодействие с бакетами в системных тестах не мокая всё подряд. А ещё это может быть локальная зависимость для экспериментов с Hive Metastore, например, но об этом в другой раз. Самое замечательное в MinIO, что его очень легко поднять. Вот вам готовый рецепт для Docker Compose:
minio:
  image: minio/minio
    container_name: minio
    environment:
      - MINIO_ROOT_USER=admin
      - MINIO_ROOT_PASSWORD=password
    ports:
      - 9001:9001
      - 9000:9000
    command: ["server", "/data", "--console-address", ":9001"]
    volumes:
      - minio_data:/data
mc:
  depends_on:
    - minio
  image: minio/mc
  container_name: mc
  volumes:
    - type: bind
      source: ./minio/entrypoint.sh
      target: /usr/bin/entrypoint.sh
      read_only: true
  environment:
    - AWS_ACCESS_KEY_ID=admin
    - AWS_SECRET_ACCESS_KEY=password
    - AWS_REGION=us-east-1
  entrypoint: ["sh", "-c", "/usr/bin/entrypoint.sh"]
volumes:
  minio_data:
В entrypoint.sh своя пара строк:
#!/bin/sh

until (/usr/bin/mc config host add minio http://minio:9000 admin password) do echo '...waiting...' && sleep 1; done;
/usr/bin/mc rm -r --force minio/warehouse;
/usr/bin/mc mb minio/warehouse;
/usr/bin/mc policy set public minio/warehouse;
exit 0;
MinIO Client, если что, это вспомогательный инструмент для более лаконичных операций с хранилищами и объектами, never mind. Теперь у вас по localhost:9001 откроется симпатичный dashboard с вашим личным S3. Что с этим всем делать — вам решать :)