logo
Secciones

Entradas del blog


Crear contenedor Minio Storage en Docker | Fedora

Sin comentarios

Contexto

Recientemente en un proyecto se necesitó separar los archivos de usuarios de la funcionalidad del sistema, y ésto llevó a buscar y encontrar MinIO Storage.

Se eligió esta solución debido a que ofrece la capacidad de almacenar archivos de hasta 5TB, así mismo brinda APIs para la gestión de los archivos, lo cual permite escalar tanto vertical como horizontalmente. Se ha notado una ventaja en cuanto a rendimiento comparado con utilizar el storage propio de Laravel, y además permite asignar una capa de responsabilidad propia para la gestión de los archivos. También permite optimizar el tráfico web del consumo de los archivos, por lo que a nivel de infraestructura de TI es muy útil.

¿Qué es MinIO?

MinIO es un almacenamiento de objetos de alto rendimiento publicado bajo la Licencia Pública General Affero v3.0 de GNU. Es compatible con la API del servicio de almacenamiento en la nube Amazon S3.

Referencia: https://github.com/minio/minio

Característica

  • Escalabilidad.
  • Persistencia de datos.
  • Compatibilidad con el API S3.
  • Seguridad bilateral bajo encriptación.

Referencia: https://www.xenonstack.com/insights/minio

Instalación en Docker

Previo a utilizar ésta solución de software es necesario instalarlo, en éste caso se utilizará docker sobre fedora (Instalación de docker en fedora)

Para descargar y crear un contenedor de docker con la imagen de Minio se usa el siguiente comando:

docker run -d --name MinioServer -p 9000:9000 -p 9001:9001 --env MINIO_ROOT_USER="minioadmin" --env MINIO_ROOT_PASSWORD="minioadmin" bitnami/minio:latest

Iniciar el contenedor:

docker start MinioServer

**Nota: es necesario mantener iniciado el contenedor para que funcione en el navegador

Una vez que termine la instalación, entrar a la ruta: http://127.0.0.1:9001 y se abrirá una ventana similar a la de abajo

Aquí se debe ingresar el usuario y contraseña que se usó en el comando anterior

Al iniciar sesión se mostrará el panel principal:

Una vez iniciado sesión, ir a la opción Buckets y crear uno, asignarle un nombre, y se dejan las opciones por defecto.

Una vez creado el Bucket, editarlo y cambiar su visibilidad a público, ésto para que permita acceder a sus archivos mediante un token:

Después de crear el Bucket, ahora se debe crear un usuario, y posteriormente a ese usuario se le crearán sus claves de tokens y acceso para consumir los archivos:

Una vez creado el usuario, crear su services account para su acceso y consumo de api:

Y una vez creado el Service Accounts, ahora sí se podrá vincular con Laravel, o cualquier otro proyecto web.

Conclusión

La instalación de Minio en docker termina aquí, en el siguiente post, se mostrará la vinculación con un proyecto Laravel, y que al guardar un archivo desde un formulario, se guardará directamente en Minio.

Comentarios:

Conoce la red social linuxClick
Redes sociales
Accesos directos