一、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连接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,本地保存路径和文件名
- )
复制代码
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |