¿Cómo levantar MinIO con Docker y explorar tu propio S3 local?

¿Te gustaría tener un sistema de almacenamiento similar a Amazon S3, pero corriendo en tu propio entorno local?
Con MinIO puedes hacerlo fácilmente, y lo mejor: es open source, rápido y totalmente compatible con el protocolo S3 de AWS.

En este artículo te mostraré cómo levantar MinIO usando Docker Compose, acceder a su interfaz gráfica y crear tu primer bucket para almacenar archivos.

¿Qué es MinIO?

MinIO es un servidor de almacenamiento de objetos (Object Storage) diseñado para ofrecer compatibilidad total con Amazon S3.
Esto significa que cualquier aplicación, SDK o librería que trabaje con S3 puede conectarse a MinIO sin cambios en el código, simplemente ajustando la URL del endpoint y las credenciales.

Al ser open source, puedes ejecutarlo en tu propia máquina, en un servidor local o incluso en la nube, manteniendo control total sobre tus datos.

Requisitos previos

Antes de comenzar, asegúrate de tener instalado:

  • Docker
  • Docker Compose
  • Un editor de texto (por ejemplo, Visual Studio Code)

Paso 1: Crear el archivo docker-compose.yml

Crea un archivo llamado docker-compose.yml en una carpeta de tu elección y copia el siguiente contenido:

name: MinIO Example
version: '3.8'

services:
  minio-example:
    image: minio/minio:latest
    container_name: minio-example
    restart: always
    command: server --console-address ":9001" /data
    environment:
      MINIO_ROOT_USER: minioadmin
      MINIO_ROOT_PASSWORD: minioadmin
    ports:
      - "9000:9000"   # API S3
      - "9001:9001"   # Consola web
    volumes:
      - ./minio_example_data:/data

Puedes cambiar el usuario y contraseña en las variables MINIO_ROOT_USER y MINIO_ROOT_PASSWORD.

Paso 2: Levantar el contenedor

Abre una terminal en la carpeta donde está tu docker-compose.yml y ejecuta:

docker compose up -d

En pocos segundos verás que el contenedor minio se levanta y empieza a correr en segundo plano.
Puedes verificarlo con:

docker ps

Paso 3: Acceder a la consola de MinIO

Abre tu navegador y entra a:

http://localhost:9001

Se abrirá la consola de administración de MinIO, donde puedes iniciar sesión con el usuario y contraseña que definiste en el docker-compose.

Paso 4: Crear y explorar tu primer bucket

Una vez dentro de la interfaz, haz clic en “Create Bucket” y asigna un nombre, por ejemplo:

mi-primer-bucket

Dentro del bucket podrás:

  • Subir archivos o carpetas
  • Ver metadatos de cada objeto
  • Generar URLs temporales de acceso
  • Organizar tu contenido de forma sencilla

MinIO ofrece una experiencia visual muy parecida a la de AWS S3, pero corriendo directamente en tu máquina.

Paso 5: Conectar MinIO desde tus aplicaciones

Puedes conectar MinIO a cualquier aplicación que utilice S3.
Solo necesitas reemplazar los datos del endpoint y las credenciales:

ParámetroValor de ejemplo
Endpointhttp://localhost:9000
Access Keyminioadmin
Secret Keyminioadmin
Regionus-east-1 (por defecto)

Así podrás integrarlo fácilmente con SDKs de AWS, Spring Boot, Python boto3, entre otros.

Conclusión

Con solo unos pocos comandos, puedes tener tu propio servidor S3 local completamente funcional.
MinIO es ideal para entornos de desarrollo, pruebas o proyectos internos donde se requiere almacenamiento escalable y control total sobre los datos.

En próximos artículos veremos cómo conectar MinIO desde una aplicación en Java o Python, y cómo automatizar la creación de buckets desde código.

Si quieres usarlo en producción puedes enlazar con nginx o apache2 o el reverse proxy de tu preferencia y que este apunte al docker container, a ambos puertos 9000 y 9001, para que tengas acceso al API y al navegador web desde el dominio de tu preferencia.

Recuerdas siempre ponerle SSL

Comparte la publicación

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *