MinIO S3存储服务
MinIO是什么

docker-compose.yaml
参考:MinIO Object Storage for Container — MinIO Object Storage for Container
注意:镜像的版本需要匹配宿主机的类型,比如PVE虚拟化的机器可能不支持cpuv2
,需要手动指定tag为2024-01-18T22-51-28Z-cpuv1
YAML |
---|
| # https://quay.io/repository/minio/minio?tab=tags&tag=latest
version: "3"
services:
dev-minio:
image: quay.io/minio/minio:RELEASE.2024-01-18T22-51-28Z-cpuv1
container_name: dev_minio
hostname: minio_server
networks:
- dev_minio_net
volumes:
- ./data:/data
ports:
- "59000:9000"
- "59001:9001"
environment:
- UID=$(id -u)
- GID=$(id -g)
- MINIO_ROOT_USER=admin
- MINIO_ROOT_PASSWORD=MinIO145#
command: server /data --console-address ":9001"
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:59000/minio/health/live"]
interval: 30s
timeout: 20s
retries: 3
networks:
dev_minio_net:
name: dev_minio_net
driver: bridge
|
访问对于IP的59001端口即可进入webUI管理界面

创建bucket


创建access keys



使用mc客户端进行交互
mc命令参考:Command Quick Reference
mc安装
参考:MinIO Client — MinIO Object Storage for Linux
macOS
Bash |
---|
| brew install minio/stable/mc
mc --help
|
Linux
Bash |
---|
| curl https://dl.min.io/client/mc/release/linux-amd64/mc \
--create-dirs \
-o $HOME/minio-binaries/mc
chmod +x $HOME/minio-binaries/mc
export PATH=$PATH:$HOME/minio-binaries/
mc --help
|
查看mc版本

配置MinIO连接alias
下面使用一个临时的key进行测试,并添加刚刚部署的minio服务
Bash |
---|
| export ACCESS_KEY=rFDqI6aFw2616BZhamQx
export SECRET_KEY=EIgl53Jp4PKC4lBVcOOMUort9lqb7G5DnzbYwVpV
mc alias set minio145 http://192.168.2.145:59000 $ACCESS_KEY $SECRET_KEY
|
测试连接是否正常admin info

查看region信息
Bash |
---|
| mc admin info --json minio145 | jq ".info.region"
|

jq是用来处理json数据的命令行工具
测试连接网络信息ping
参考:mc ping — MinIO Object Storage for Linux
Bash |
---|
| mc ping minio145 --count 5
|

上传下载对象cp
参考:mc cp — MinIO Object Storage for Linux
命令范式
其中,不区分上传和下载操作,如果SOURCE
和TARGET
都在服务器的bucket中,那么则是直接在不同的bucket中创建副本,示例命令如下:
Bash |
---|
| # 上传
mc cp "/Users/lzwang/Downloads/Python.png" minio145/test-bucket/
# 下载
mc cp minio145/test-bucket/Python.png ~/
# 增加副本
mc cp minio145/test-bucket/Python.png minio145/test-bucket2/
|

查看对象cat
参考:mc cat — MinIO Object Storage for Linux
可以直接使用此命令查看存储中的文本文件,而不必下载到本地
Bash |
---|
| date +%Y-%m-%d >> date.txt
mc cp ./date.txt minio145/test-bucket/
mc cat minio145/test-bucket/date.txt
|

列出对象ls
参考:mc ls — MinIO Object Storage for Linux
Bash |
---|
| mc ls minio145/test-bucket/
|

移动对象mv
参考:mc mv — MinIO Object Storage for Linux
Bash |
---|
| mc mv minio145/test-bucket/Python.png minio145/test-bucket2/
|

删除对象rm
参考:mc rm — MinIO Object Storage for Linux
Bash |
---|
| mc rm minio145/test-bucket/date.txt
|

查看对象状态stat
参考:mc stat — MinIO Object Storage for Linux
Bash |
---|
| mc stat minio145/test-bucket/Python.png
|

参考