Docker 搭建 Minio 对象存储服务

MinIO

MinIO 是一款基于 Go 语言发开的高性能、分布式的对象存储系统,客户端支持 Java,Net,Python,Javacript,Golang语言。

MinIO 的主要目标是作为私有云对象存储的标准方案,非常适合于存储大容量非结构化的数据,例如图片、视频、日志文件、备份数据、容器和虚拟机镜像等,而一个对象文件可以是任意大小,从几 kb 到最大 5T。

如果有搭建私有对象存储服务的需求,MinIO 非常适合。本文将介绍使用 Docker 快速搭建一个 MinIO 服务。

使用 Docker 部署 MinIO 服务

在 Docker Hub 搜索 MinIO 相关镜像,使用这一个:

Docker 搭建 Minio 对象存储服务_第1张图片

按照文档的说明,下载镜像:

$ docker pull bitnami/minio 

查看下载好的镜像:

$ docker images
REPOSITORY          TAG       IMAGE ID       CREATED             SIZE
bitnami/minio         latest  5ce0a7a9aaff   About an hour ago   218MB 

创建数据卷目录,并提升权限:

$ mkdir -p /minio1/data
$ chmod -R 777 /minio/data 

使用镜像启动一个 minio 容器:

$ docker run -it -d --name minio \
-p 9000:9000 -p 9001:9001 \
-v /minio/data:/data \
-e MINIO_ROOT_USER="minio_root" \
-e MINIO_ROOT_PASSWORD="minio_123456" \
bitnami/minio:latest 

参数说明:

  • -it:-i 表示以交互模式运行容器,-t 表示为容器重新分配一个伪输入终端,两个参数必须结合使用才能启动一个容器
  • -d:以守护进程方式来启动容器,这也是常用参数,防止阻塞当前窗口
  • -p 9000:9000:MinIO 服务会暴露 9000 端口来对外提供对象访问,也就是通过此端口运行的服务来访问资源
  • -p 9001:9001:MinIO 服务会提供一个可视化管理系统,默认在 9001 端口运行
  • -v /minio/data:/data:挂载数据卷,将 minio 容器内存储的文件映射到宿主机
  • -e MINIO_ROOT_USER=“minio_root”:设置 root 用户名
  • -e MINIO_ROOT_PASSWORD=“minio_123456”:设置 root 的密码,长度至少 8 位

在 minio 镜像的文档中提到了:

Make sure that the environment variables MINIO_ROOT_PASSWORD and MINIO_SERVER_SECRET_KEY meet the 8 character minimum length requirement enforced by MinIO®.

也就是通过环境变量 MINIO_ROOT_PASSWORD 设置 root 用户密码时,长度至少为 8 位,这一点需要注意。

查看 minio 容器的启动日志:

$ docker lgos minio -f 

可以看到一些关键信息:

API 也就是对外提供资源存取服务的地址,Console 是控制台,也就是一个后台管理系统。RootUser 是通过环境变量设置的 root 用户名,RootPass 是 root 用户密码。创建容器时没有指定这两个环境变量的话,这里会提供两个默认的值,分别是 miniominiosecret

Docker 搭建 Minio 对象存储服务_第2张图片

查看 minio 容器的信息:

$ docker ps 

可以看到容器的 ID,所使用的的镜像,运行状态,端口等信息:

开放安全组端口

MinIO 服务用到了 9000 和 9001 端口,如果使用的是云服务器,需要在安全组中开放端口:

Docker 搭建 Minio 对象存储服务_第3张图片

访问 MinIO

打开浏览器,访问 域名:9001 或者 IP:9001 ,即可访问 MinIO 服务的管理系统,使用设置好的用户名和密码,登录系统:

Docker 搭建 Minio 对象存储服务_第4张图片

进入系统首页,默认展示存储桶列表,由于现在是一个新的服务,所以还是空的:

Docker 搭建 Minio 对象存储服务_第5张图片

创建桶

根据提示,点击 “Create a Bucket” 开始创建第一个存储桶:

Docker 搭建 Minio 对象存储服务_第6张图片 Docker 搭建 Minio 对象存储服务_第7张图片

点击按钮即可完成桶的创建,如下,是刚刚创建的存储桶的卡片展示:

Docker 搭建 Minio 对象存储服务_第8张图片

点击存储桶,进入此桶的概要展示页面:

Docker 搭建 Minio 对象存储服务_第9张图片

点击访问策略,修改为 Public 公共策略,这样 MinIO 中的文件才能被外界访问:

Docker 搭建 Minio 对象存储服务_第10张图片

上传文件

在一个存储桶内,右上角有一个上传的按钮,可以上传文件或者文件夹。

Docker 搭建 Minio 对象存储服务_第11张图片

文件上传成功后,点击文件可查看文件的详情:

Docker 搭建 Minio 对象存储服务_第12张图片

文件详情右侧提供了一些常用的功能,比如下载,分享和预览,展示文件的基本信息。

上方的路径可以复制下来,拼接上 MinIO 服务的地址,就是此文件的 URL 了。一定要把桶的访问策略改为 Public,否则访问此 URL 将返回 403。

Docker 搭建 Minio 对象存储服务_第13张图片

最后

整理了一套《前端大厂面试宝典》,包含了HTML、CSS、JavaScript、HTTP、TCP协议、浏览器、VUE、React、数据结构和算法,一共201道面试题,并对每个问题作出了回答和解析。

有需要的小伙伴,可以点击文末卡片领取这份文档,无偿分享

部分文档展示:



文章篇幅有限,后面的内容就不一一展示了

有需要的小伙伴,可以点下方卡片免费领取

你可能感兴趣的:(docker,容器,java)