Despliegue de MinIO con Docker: Guía Detallada

Este tutorial te guiará a través del proceso de implementación de MinIO, una solución de almacenamiento de objetos compatible con S3, utilizando Docker. Cubriremos la configuración básica y el uso de Docker Compose para una gestión más sencilla.

1. Preparación del Entorno

Antes de comenzar, asegúrate de tener Docker instalado en tu sistema. Si necesitas ayuda con la instalación en Ubuntu, puedes consultar recursos como la documentación oficial de Docker o guías específicas para tu sistema operativo.

2. Creación de Directorios de Montaje

Es fundamental preparar directorios en el sistema anfitrión que se montarán en el contenedor de MinIO para persistir los datos y la configuración. Ejecuta el siguiente comando para crear la estructura de directorios necesaria:


# Crear directorio para los datos de MinIO en el host
sudo mkdir -p /opt/minio/data
# Crear directorio para la configuración de MinIO en el host
sudo mkdir -p /opt/minio/config

3. Ejecución de MinIO como Contenedor Docker Individual

Puedes iniciar MinIO directamente usando el comando docker run.

3.1. Descarga de la Imagen de MinIO

Primero, descarga la imagen oficial de MinIO:


# Descargar la imagen más reciente de MinIO
sudo docker pull minio/minio:RELEASE.2024-11-07T00-52-20Z

3.2. Lanzamiento del Contenedor

A continuación, ejecuta el contenedor de MinIO con la configuración deseada:


sudo docker run -d \
  --name minio-server \
  --restart always \
  -p 9000:9000 \
  -p 9001:9001 \
  -e "MINIO_ROOT_USER=miniouser" \
  -e "MINIO_ROOT_PASSWORD=miniopassword123" \
  -v /opt/minio/data:/export \
  -v /opt/minio/config:/root/.minio \
  minio/minio:RELEASE.2024-11-07T00-52-20Z server /export --console-address ":9001"

3.3. Explicación de los Parámetros del Comando

  • -d: Ejecuta el conteneder en segundo plano (modo "detached").
  • --name minio-server: Asigna un nombre específico al contenedor para facilitar su identificación.
  • --restart always: Configura Docker para reiniciar el contenedor automáticamente si se detiene o si el host se reinicia.
  • -p 9000:9000: Mapea el puerto 9000 del host al puerto 9000 del contenedor (para la API de MinIO).
  • -p 9001:9001: Mapea el puerto 9001 del host al puerto 9001 del contenedor (para la interfaz de consola web).
  • -e "MINIO_ROOT_USER=miniouser": Define el nombre de usuario para el acceso administrativo a MinIO.
  • -e "MINIO_ROOT_PASSWORD=miniopassword123": Establece la contraseña para el acceso administrativo. Asegúrate de usar una contraseña segura.
  • -v /opt/minio/data:/export: Monta el directorio local /opt/minio/data en el directorio /export dentro del contenedor, donde MinIO almacenará los objetos.
  • -v /opt/minio/config:/root/.minio: Monta el directorio local /opt/minio/config en /root/.minio dentro del contenedor para la configuración.
  • minio/minio:RELEASE.2024-11-07T00-52-20Z server /export --console-address ":9001": El comando que se ejecuta dentro del contenedor. Inicia el servidor MinIO, especificando el directorio de datos (/export) y la dirección para la consola (:9001).

4. Despliegue de MinIO con Docker Compose

Docker Compose simplifica la definición y ejecución de aplicaciones multi-contenedor. Crea un archivo docker-compose.yml para gestionar tu instancia de MinIO.

4.1. Creación del Archivo docker-compose.yml

Crea el archivo docker-compose.yml en el directorio deseado (por ejemplo, /opt/minio/):


sudo nano /opt/minio/docker-compose.yml

4.2. Contenido del Archivo docker-compose.yml

Añade la siguiente configuración al archivo:


version: '3.8'

services:
  minio:
    image: minio/minio:RELEASE.2024-11-07T00-52-20Z
    container_name: minio-compose-server
    restart: always
    ports:
      - "9000:9000"  # API port
      - "9001:9001"  # Console port
    environment:
      MINIO_ROOT_USER: adminuser
      MINIO_ROOT_PASSWORD: anothersecurepassword123
      TZ: America/Mexico_City # Ejemplo de zona horaria
    volumes:
      - /opt/minio/data:/export
      - /opt/minio/config:/root/.minio/
    command: server /export --console-address ":9001"

4.3. Ejecución con Docker Compose

Navega al directorio donde guardaste el archivo docker-compose.yml y ejecuta el siguiente comando para iniciar los contenedores en segundo plano:


# Asegúrate de estar en el directorio /opt/minio/
sudo docker compose up -d

5. Verificación del Estado de MinIO

Una vez que el contenedor esté en funcionamiento, puedes acceder a la interfaz de consola de MinIO para verificar que todo esté correcto. Abre tu navegador y ve a:

http://<tu_direccion_ip_del_servidor>:9001</tu_direccion_ip_del_servidor>

Utiliza las credenciales que configuraste (por ejemplo, adminuser / anothersecurepassword123 si usaste el ejemplo de Docker Compose) para iniciar sesión.

Etiquetas: Docker minio almacenamiento de objetos s3 Docker Compose

Publicado el 6-11 07:59