Minio介绍
MinIO 是一款基于Go语言的高性能对象存储服务,它采用了Apache License v2.0开源协议,非常适合于存储大容量非结构化的数据,例如图片、视频、日志文件、备份数据和容器/虚拟机镜像等。
他家介绍更详细:https://www.jianshu.com/p/52dbc679094a
Docker安装最新的Minio
拉取Minio的镜像:
[root@minio]# docker pull minio/minio
Using default tag: latest
Trying to pull repository docker.io/minio/minio ...
latest: Pulling from docker.io/minio/minio
Digest: sha256:25d386a141a124993ecc7e3c4b8bce0c796bfa849cb436eb1dd2aeee8782f48d
Status: Image is up to date for docker.io/minio/minio:latest
创建相关目录
mkdir /data/minio
cd /data/minio
mkdir data
mkdir config
启动服务
docker run --name minio \
-p 9000:9000 \
-p 9009:9009 \
-d --restart=always \
-e "MINIO_ROOT_USER=yourusername" \
-e "MINIO_ROOT_PASSWORD=yourpassword" \
-v /data/minio/data:/data \
-v /data/minio/config:/root/.minio \
minio/minio server /data \
--console-address '0.0.0.0:9009'
注意: 1. 这里要单独设置console
的端口,不然会报错,且无法访问
2. 这种安装方式 MinIO 自定义 Access 和 Secret 密钥要覆盖 MinIO 的自动生成的密钥
防火墙设置
需要为minio开放两个端口,一个9000端口,一个静态端口,此处为9009
firewall-cmd --zone=public --add-port=9000/tcp --permanent
firewall-cmd --zone=public --add-port=9009/tcp --permanent
firewall-cmd --reload
登录客户端(浏览器)
注意: 此处的端口,是你设置的console的端口:9009
创建桶
创建桶名称,注意,不支持下划线 _ ,可以使用中划线 - ,如:nfs-qd-datas
设置访问策略
如果不设置的话,前端请求对应的数据都会报403异常;
# minio设置永久访问链接,参考如下设置:
# 通过minio分享的链接只能支持7天。
# 解决方案是设置对应的bucket 可通过路径直接访问。(必须通过minio client才能设置下载策略)
wget https://dl.min.io/client/mc/release/linux-amd64/mc #下载minio client
chmod a+x mc
./mc config host add minio http://172.12.3.1:9999 admin passwd #添加minio server
./mc policy set download minio/yourbucket #设置需要开放下载的bucket, 注意需要带minio
http://172.16.3.1:9999/yourbucket/test.png #浏览器访问, 注意不需要带minio
#######################################
[root@ethings minio]# chmod a+x mc
[root@ethings minio]# ls
client-readme config data mc
[root@ethings minio]# ./mc config host add minio http://172.17.0.4:9000 admin nfs-qd123
mc: Configuration written to `/root/.mc/config.json`. Please update your access credentials.
mc: Successfully created `/root/.mc/share`.
mc: Initialized share uploads `/root/.mc/share/uploads.json` file.
mc: Initialized share downloads `/root/.mc/share/downloads.json` file.
Added `minio` successfully.
[root@ethings minio]# ./mc policy set download minio/nfs-qd-datas
Access permission for `minio/nfs-qd-datas` is set to `download`
以上是docker部署单机的minio相关内容