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"
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,本地保存路径和文件名
)