{"id":3948,"date":"2023-03-16T20:23:34","date_gmt":"2023-03-17T02:23:34","guid":{"rendered":"https:\/\/linuxitos.com\/main\/?p=3948"},"modified":"2023-03-17T09:59:36","modified_gmt":"2023-03-17T15:59:36","slug":"montar-contenedor-minio-storage-en-docker-fedora","status":"publish","type":"post","link":"https:\/\/linuxitos.com\/main\/montar-contenedor-minio-storage-en-docker-fedora\/","title":{"rendered":"Crear contenedor Minio Storage en Docker | Fedora"},"content":{"rendered":"\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/linuxitos.com\/main\/wp-content\/uploads\/2023\/03\/post_install_docker_minio.png\"><img loading=\"lazy\" decoding=\"async\" width=\"860\" height=\"485\" src=\"https:\/\/linuxitos.com\/main\/wp-content\/uploads\/2023\/03\/post_install_docker_minio.png\" alt=\"\" class=\"wp-image-3949\" srcset=\"https:\/\/linuxitos.com\/main\/wp-content\/uploads\/2023\/03\/post_install_docker_minio.png 860w, https:\/\/linuxitos.com\/main\/wp-content\/uploads\/2023\/03\/post_install_docker_minio-300x169.png 300w, https:\/\/linuxitos.com\/main\/wp-content\/uploads\/2023\/03\/post_install_docker_minio-768x433.png 768w\" sizes=\"auto, (max-width: 860px) 100vw, 860px\" \/><\/a><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Contexto<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Recientemente en un proyecto se necesit\u00f3 separar los archivos de usuarios de la funcionalidad del sistema, y \u00e9sto llev\u00f3 a buscar y encontrar MinIO Storage.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Se eligi\u00f3 esta soluci\u00f3n debido a que ofrece la capacidad de almacenar archivos de hasta 5TB, as\u00ed mismo brinda APIs para la gesti\u00f3n 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\u00e1s permite asignar una capa de responsabilidad propia para la gesti\u00f3n de los archivos. Tambi\u00e9n permite optimizar el tr\u00e1fico web del consumo de los archivos, por lo que a nivel de infraestructura de TI es muy \u00fatil.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u00bfQu\u00e9 es MinIO?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">MinIO es un almacenamiento de objetos de alto rendimiento publicado bajo la Licencia P\u00fablica General Affero v3.0 de GNU. Es compatible con la API del servicio de almacenamiento en la nube Amazon S3.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Referencia: https:\/\/github.com\/minio\/minio<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Caracter\u00edstica<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Escalabilidad.<\/li>\n\n\n\n<li>Persistencia de datos.<\/li>\n\n\n\n<li>Compatibilidad con el API S3.<\/li>\n\n\n\n<li>Seguridad bilateral bajo encriptaci\u00f3n.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Referencia: <a href=\"https:\/\/www.xenonstack.com\/insights\/minio\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/www.xenonstack.com\/insights\/minio<\/a><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Instalaci\u00f3n en Docker<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Previo a utilizar \u00e9sta soluci\u00f3n de software es necesario instalarlo, en \u00e9ste caso se utilizar\u00e1 docker sobre fedora (<a rel=\"noreferrer noopener\" href=\"https:\/\/blog.linuxitos.com\/post\/instalar-docker-fedora-37\" target=\"_blank\">Instalaci\u00f3n de docker en fedora<\/a>)<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Para descargar y crear un contenedor de docker con la imagen de Minio se usa el siguiente comando:<\/p>\n\n\n\n<pre style=\"background: #363F48; border-radius: 6px; border: 0px; box-sizing: border-box; color: white; font-family: menlo, monaco, monospace; font-style: inherit; font-weight: inherit; line-height: 15.68px; margin-bottom: 1.1em; max-width: 100%; outline: 0px; overflow: auto; padding: 13.125px 16.4062px; vertical-align: baseline; white-space: pre-wrap; word-wrap: break-word;\">docker run -d --name MinioServer -p 9000:9000 -p 9001:9001 --env MINIO_ROOT_USER=\"minioadmin\" --env MINIO_ROOT_PASSWORD=\"minioadmin\" bitnami\/minio:latest<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Iniciar el contenedor:<\/p>\n\n\n\n<pre style=\"background: #363F48; border-radius: 6px; border: 0px; box-sizing: border-box; color: white; font-family: menlo, monaco, monospace; font-style: inherit; font-weight: inherit; line-height: 15.68px; margin-bottom: 1.1em; max-width: 100%; outline: 0px; overflow: auto; padding: 13.125px 16.4062px; vertical-align: baseline; white-space: pre-wrap; word-wrap: break-word;\">docker start MinioServer<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">**Nota: es necesario mantener iniciado el contenedor para que funcione en el navegador<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Una vez que termine la instalaci\u00f3n, entrar a la ruta: <a rel=\"noreferrer noopener\" href=\"http:\/\/127.0.0.1:9001\" target=\"_blank\">http:\/\/127.0.0.1:9001<\/a> y se abrir\u00e1 una ventana similar a la de abajo<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/linuxitos.com\/main\/wp-content\/uploads\/2023\/03\/image.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"624\" src=\"https:\/\/linuxitos.com\/main\/wp-content\/uploads\/2023\/03\/image-1024x624.png\" alt=\"\" class=\"wp-image-3951\" srcset=\"https:\/\/linuxitos.com\/main\/wp-content\/uploads\/2023\/03\/image-1024x624.png 1024w, https:\/\/linuxitos.com\/main\/wp-content\/uploads\/2023\/03\/image-300x183.png 300w, https:\/\/linuxitos.com\/main\/wp-content\/uploads\/2023\/03\/image-768x468.png 768w, https:\/\/linuxitos.com\/main\/wp-content\/uploads\/2023\/03\/image.png 1411w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Aqu\u00ed se debe ingresar el usuario y contrase\u00f1a que se us\u00f3 en el comando anterior<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Al iniciar sesi\u00f3n se mostrar\u00e1 el panel principal:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/linuxitos.com\/main\/wp-content\/uploads\/2023\/03\/Screenshot-from-2023-03-16-20-40-24.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"572\" src=\"https:\/\/linuxitos.com\/main\/wp-content\/uploads\/2023\/03\/Screenshot-from-2023-03-16-20-40-24-1024x572.png\" alt=\"\" class=\"wp-image-3953\" srcset=\"https:\/\/linuxitos.com\/main\/wp-content\/uploads\/2023\/03\/Screenshot-from-2023-03-16-20-40-24-1024x572.png 1024w, https:\/\/linuxitos.com\/main\/wp-content\/uploads\/2023\/03\/Screenshot-from-2023-03-16-20-40-24-300x168.png 300w, https:\/\/linuxitos.com\/main\/wp-content\/uploads\/2023\/03\/Screenshot-from-2023-03-16-20-40-24-768x429.png 768w, https:\/\/linuxitos.com\/main\/wp-content\/uploads\/2023\/03\/Screenshot-from-2023-03-16-20-40-24-1536x858.png 1536w, https:\/\/linuxitos.com\/main\/wp-content\/uploads\/2023\/03\/Screenshot-from-2023-03-16-20-40-24.png 1725w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Una vez iniciado sesi\u00f3n, ir a la opci\u00f3n Buckets y crear uno, asignarle un nombre, y se dejan las opciones por defecto.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/linuxitos.com\/main\/wp-content\/uploads\/2023\/03\/image-2.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"572\" src=\"https:\/\/linuxitos.com\/main\/wp-content\/uploads\/2023\/03\/image-2-1024x572.png\" alt=\"\" class=\"wp-image-3954\" srcset=\"https:\/\/linuxitos.com\/main\/wp-content\/uploads\/2023\/03\/image-2-1024x572.png 1024w, https:\/\/linuxitos.com\/main\/wp-content\/uploads\/2023\/03\/image-2-300x168.png 300w, https:\/\/linuxitos.com\/main\/wp-content\/uploads\/2023\/03\/image-2-768x429.png 768w, https:\/\/linuxitos.com\/main\/wp-content\/uploads\/2023\/03\/image-2-1536x858.png 1536w, https:\/\/linuxitos.com\/main\/wp-content\/uploads\/2023\/03\/image-2.png 1725w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Una vez creado el Bucket, editarlo y cambiar su visibilidad a p\u00fablico, \u00e9sto para que permita acceder a sus archivos mediante un token:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/linuxitos.com\/main\/wp-content\/uploads\/2023\/03\/image-3.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"572\" src=\"https:\/\/linuxitos.com\/main\/wp-content\/uploads\/2023\/03\/image-3-1024x572.png\" alt=\"\" class=\"wp-image-3955\" srcset=\"https:\/\/linuxitos.com\/main\/wp-content\/uploads\/2023\/03\/image-3-1024x572.png 1024w, https:\/\/linuxitos.com\/main\/wp-content\/uploads\/2023\/03\/image-3-300x168.png 300w, https:\/\/linuxitos.com\/main\/wp-content\/uploads\/2023\/03\/image-3-768x429.png 768w, https:\/\/linuxitos.com\/main\/wp-content\/uploads\/2023\/03\/image-3-1536x858.png 1536w, https:\/\/linuxitos.com\/main\/wp-content\/uploads\/2023\/03\/image-3.png 1725w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Despu\u00e9s de crear el Bucket, ahora se debe crear un usuario, y posteriormente a ese usuario se le crear\u00e1n sus claves de tokens y acceso para consumir los archivos:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/linuxitos.com\/main\/wp-content\/uploads\/2023\/03\/image-5.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"572\" src=\"https:\/\/linuxitos.com\/main\/wp-content\/uploads\/2023\/03\/image-5-1024x572.png\" alt=\"\" class=\"wp-image-3957\" srcset=\"https:\/\/linuxitos.com\/main\/wp-content\/uploads\/2023\/03\/image-5-1024x572.png 1024w, https:\/\/linuxitos.com\/main\/wp-content\/uploads\/2023\/03\/image-5-300x168.png 300w, https:\/\/linuxitos.com\/main\/wp-content\/uploads\/2023\/03\/image-5-768x429.png 768w, https:\/\/linuxitos.com\/main\/wp-content\/uploads\/2023\/03\/image-5-1536x858.png 1536w, https:\/\/linuxitos.com\/main\/wp-content\/uploads\/2023\/03\/image-5.png 1725w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Una vez creado el usuario, crear su services account para su acceso y consumo de api:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/linuxitos.com\/main\/wp-content\/uploads\/2023\/03\/image-6.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"572\" src=\"https:\/\/linuxitos.com\/main\/wp-content\/uploads\/2023\/03\/image-6-1024x572.png\" alt=\"\" class=\"wp-image-3958\" srcset=\"https:\/\/linuxitos.com\/main\/wp-content\/uploads\/2023\/03\/image-6-1024x572.png 1024w, https:\/\/linuxitos.com\/main\/wp-content\/uploads\/2023\/03\/image-6-300x168.png 300w, https:\/\/linuxitos.com\/main\/wp-content\/uploads\/2023\/03\/image-6-768x429.png 768w, https:\/\/linuxitos.com\/main\/wp-content\/uploads\/2023\/03\/image-6-1536x858.png 1536w, https:\/\/linuxitos.com\/main\/wp-content\/uploads\/2023\/03\/image-6.png 1725w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Y una vez creado el Service Accounts, ahora s\u00ed se podr\u00e1 vincular con Laravel, o cualquier otro proyecto web.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Conclusi\u00f3n<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">La instalaci\u00f3n de Minio en docker termina aqu\u00ed, en el siguiente post, se mostrar\u00e1 la vinculaci\u00f3n con un proyecto Laravel, y que al guardar un archivo desde un formulario, se guardar\u00e1 directamente en Minio.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Contexto Recientemente en un proyecto se necesit\u00f3 separar los archivos de usuarios de la funcionalidad del sistema, y \u00e9sto llev\u00f3 a buscar y encontrar MinIO Storage. Se eligi\u00f3 esta soluci\u00f3n debido a que ofrece la capacidad de almacenar archivos de hasta 5TB, as\u00ed mismo brinda APIs para la gesti\u00f3n de los archivos, lo cual permite [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":3949,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1889,706],"tags":[1909,1910,1694,1906,1907,1908],"class_list":["post-3948","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-desarrollo-web","category-instalar","tag-amazon","tag-aws","tag-docker","tag-minio","tag-minio-storage","tag-s3"],"_links":{"self":[{"href":"https:\/\/linuxitos.com\/main\/wp-json\/wp\/v2\/posts\/3948","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/linuxitos.com\/main\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/linuxitos.com\/main\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/linuxitos.com\/main\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/linuxitos.com\/main\/wp-json\/wp\/v2\/comments?post=3948"}],"version-history":[{"count":4,"href":"https:\/\/linuxitos.com\/main\/wp-json\/wp\/v2\/posts\/3948\/revisions"}],"predecessor-version":[{"id":3975,"href":"https:\/\/linuxitos.com\/main\/wp-json\/wp\/v2\/posts\/3948\/revisions\/3975"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/linuxitos.com\/main\/wp-json\/wp\/v2\/media\/3949"}],"wp:attachment":[{"href":"https:\/\/linuxitos.com\/main\/wp-json\/wp\/v2\/media?parent=3948"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/linuxitos.com\/main\/wp-json\/wp\/v2\/categories?post=3948"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/linuxitos.com\/main\/wp-json\/wp\/v2\/tags?post=3948"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}