Files
2026-04-10 13:54:33 +00:00

1.8 KiB

Tutorial 2: MinIO - Storage S3-Compatible

Obiettivi

  • Capire cosa è MinIO
  • Deploy MinIO con Docker Compose
  • Usare S3 API localmente
  • Configurare client S3

Cos'è MinIO?

MinIO è:

  • S3-compatible: 100% compatibile con AWS S3 API
  • Local development: S3 sul tuo computer
  • Open source: Gratis e self-hosted

Parallelismo: MinIO = S3

Locale Cloud
MinIO container S3 bucket
http://localhost:9000 https://s3.amazonaws.com
mc ls aws s3 ls
minioadmin AWS credentials

Configurazione

minio:
  image: minio/minio:latest
  command: server /data --console-address ":9001"
  environment:
    MINIO_ROOT_USER: minioadmin
    MINIO_ROOT_PASSWORD: minioadmin123
  ports:
    - "127.0.0.1:9000:9000"  # API
    - "127.0.0.1:9001:9001"  # Console
  volumes:
    - minio-data:/data

Nel repository trovi gia questa configurazione dentro docker-compose.yml. Il flusso consigliato e usare quel file direttamente:

cd labs/lab-04-storage
docker compose up -d
docker compose ps

Utilizzo

Accesso Console

Apri: http://localhost:9001 Login: minioadmin / minioadmin123

Verifica Health Endpoint

curl http://127.0.0.1:9000/minio/health/live

AWS CLI

aws s3 ls --endpoint-url http://localhost:9000
aws s3 mb s3://testbucket --endpoint-url http://localhost:9000
aws s3 cp file.txt s3://testbucket/ --endpoint-url http://localhost:9000

Python (boto3)

import boto3
s3 = boto3.client('s3', endpoint_url='http://localhost:9000',
                  aws_access_key_id='minioadmin',
                  aws_secret_access_key='minioadmin123')
s3.create_bucket(Bucket='testbucket')

Conclusione

MinIO ti permette di sviluppare con S3 API localmente prima di deployare in AWS.