开源项目_搭建对象存储服务MinIO
·
1 简介
MinIO 是一个开源的对象存储服务器,与 Amazon S3 兼容。它的设计目标是为大规模数据工作负载提供简单、安全和高性能的存储。
以下是 MinIO 的一些主要特性:高性能,S3 兼容,安全性,可扩展性,开源,简单性。
MinIO 可以在各种环境中运行,包括裸机、虚拟机、容器化环境、私有云和公有云等。这使得 MinIO 成为一个非常灵活的对象存储解决方案,可以适应各种不同的部署需求。
简单来说,这是又小又好用的服务,可以在 300M 以内进行部署,并包含友好的 Web 界面。它的内部存储格式也非常直观。
2 部署
2.1 下拉镜像
1 | $ docker pull bitnami/minio:latest |
image 大小约 270M,是个轻量级的服务。
2.2 启动镜像
1 | $ docker run --rm --name minio -p 9000:9000 -p 9001:9001 -e MINIO_ROOT_USER=root -e MINIO_ROOT_PASSWORD=密码 -v /exports/tmp/minio/:/bitnami/minio/data -it bitnami/minio:latest |
浏览器中输入 http://localhost:9001 打开设置界面,并使用上述的用户名和密码进行登录。
可以尝试在界面上进行增删查改操作,其结构和内容与映射目录中的结构完全一致。需要注意的是,本地的文件在远程端是一个目录,而目录中的内容则是文件的实际内容。
3 python 访问
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | class MinioFileManager: BUCKET_NAME = 'test' # 存储桶 def __init__(self, minio_host, minio_access_key, minio_secret_key): self.client = minio.Minio(minio_host, minio_access_key, minio_secret_key, secure=False) def save_file(self, filename, path): self.client.fput_object(MinioFileManager.BUCKET_NAME, filename, path) def get_file(self, filename, path): self.client.fget_object(MinioFileManager.BUCKET_NAME, filename, path) def delete_file(self, filename): self.client.remove_object(MinioFileManager.BUCKET_NAME, filename) manager = filemanager.MinioFileManager('192.168.10.108:9000', 'minio', 'miniosecret') manager.get_file('失误_笔记.txt', '/tmp/test.txt') manager.save_file('失误_笔记_2.txt', '/tmp/test.txt') manager.delete_file('失误_笔记_2.txt') |
更多推荐
已为社区贡献11条内容
所有评论(0)