MinIO是什么?
MinIO 是一个基于Apache License v2.0开源协议的对象存储服务。它兼容亚马逊S3云存储服务接口,非常适合于存储大容量非结构化的数据,例如图片、视频、日志文件、备份数据和容器/虚拟机镜像等,而一个对象文件可以是任意大小,从几kb到最大5T不等。
安装
代码语言:javascript复制docker search minio
docker pull minio/minio
mkdir -p ~/software/docker/minio/data
mkdir -p ~/software/docker/minio/config
代码语言:javascript复制docker run -p 9001:9000 -p 9100:9100
--name minio
-d --restart=always
-v /sdbb/data/minio:/data
-v ~/software/docker/minio/config:/root/.minio
-e "MINIO_ROOT_USER=minioadmin"
-e "MINIO_ROOT_PASSWORD=minioadmin"
minio/minio server /data --console-address ":9100"
参数说明
- • -p 9001:9000 将本地的9001端口映射到容器的9000端口,这是minio的api端口。
- • -p 9100:9100 将本地的9100端口映射到容器的9100端口,这是minio的控制台端口。
- • --name minio 指定容器的名字
- • -e 指定环境变量,上面指定了minio所需的用户名和密码的变量
- • -v 挂载的数据卷,将容器中的文件挂载到主机的目录上,后面容器删了也不影响这些目录里的数据
- • minio/minio 这个是镜像名字
- • server /data --console-address ":9100" 这个是容器中minio的启动脚本。
验证
打开网址:http://172.19.0.30:9100 账号和密码都是:minioadmin
上传一张图片
这个buckets的权限要打开
在浏览器打开图片:url bucket file_path
我这里的bucket名字是tmp
http://172.19.0.30:9100/tmp/flower.jpeg
代码语言:javascript复制echo '
[30]
region=us-east-1
aws_access_key_id = H8dwuOy583jOxFAx9xMG
aws_secret_access_key = WmTMyp7MNyXP8pGkkBOneHZ0GGuEd9O0kdceArgE' >> ~/.aws/credentials
代码语言:javascript复制(base) xj@xjpc:~$ aws s3 --profile 30 --endpoint-url http://172.19.0.30:9001 ls s3://tmp/
2023-10-09 10:55:15 3 tmp_xj.txt
2023-10-09 10:53:50 23680 tmp_xj0220.jpg
注
- 1. region默认是us-east-1
- 2. 配置要加
--endpoint-url http://172.19.0.30:9001