
一、minio可以拿来做啥?
minio支持存储非结构化数据,如图片、视频、备份、容器镜像等,适用于小型测试环境。
二、如何部署
docker部署
2.1拉取镜像,直接docker desktop
2.2部署
注意好本地挂载的目录的权限是否足够
docker run -d --name minio \ -p 9000:9000 -p 9001:9001 \ -e "MINIO_ROOT_USER=minioadmin" \ -e "MINIO_ROOT_PASSWORD=minioadmin" \ -v /data/minio:/data \ minio/minio server /data --console-address ":9001"
2.3 pytho引入minio
安装sdk
pip install miniol
连接minio,然后创建bucket,上传、下载文件
from minio import Minio # 导入 minio 客户端库 # 1. 初始化 MinIO 客户端 client = Minio( "ip:port", # MinIO 服务的地址和端口 access_key="minioadmin", # 访问密钥(管理员账号) secret_key="minioadmin", # 密钥密码(管理员密码) secure=False # 是否使用 https,开发环境可用 http,故为 False ) bucket_name = "my-bucket" # 要操作的桶(bucket)名称 # 2. 检查桶是否存在,如果不存在则创建 if not client.bucket_exists(bucket_name): # bucket_exists(bucket_name): 检查名为 bucket_name 的桶是否存在 # 入参:bucket_name(字符串,桶名) client.make_bucket(bucket_name) # make_bucket(bucket_name): 创建名为 bucket_name 的新桶 # 入参:bucket_name(字符串,桶名) # 3. 上传本地文件到 MinIO 桶 client.fput_object( bucket_name, # 桶名称,目标对象存放的桶 "test_sample.py", # object_name,存储到 MinIO 后的文件名 "./test_sample.py" # file_path,本地要上传的文件路径 ) # 4. 从 MinIO 下载对象(文件)到本地 client.fget_object( bucket_name, # 桶名称 "test_sample.py", # object_name,要下载的对象名 "./new_test_sample.py" # file_path,本地保存路径和文件名 )