对象存储minio(二) | docker配置
MinIO (https://min.io/) 是一种高性能、兼容亚马逊 S3 协议的对象存储服务,非常适合于存储大容量非结构化的数据,例如图片、视频、日志文件、备份数据和容器 / 虚拟机镜像等,而一个对象文件可以是任意大小,从几 Kb 到最大 5T 不等。而且天然支持分布式,并可在任何云或本地基础设施上运行。
MinIO主要采用Golang语言实现,整个系统都运行在操作系统的用户态空间,客户端与存储服务器之间采用http/https通信协议。
Docker运行
编写minio.yml文件:
services:
minio:
image: 'minio/minio:latest'
container_name: minio
restart: always
ports:
- '9090:9090' #api
- '9091:9091' #控制台
volumes:
- ~/minio/data:/data #数据目录
- ~/minio/config:/root/.minio #配置目录
environment:
- MINIO_ROOT_USER=test #控制台用户名
- MINIO_ROOT_PASSWORD=test123 #控制台用户密码
command: server --address ':9090' --console-address ':9091' /data
docker compose -f minio.yml up -d
运行镜像
通过控制台访问
输入控制台用户密码即可登录
创建api SK
Access Keys -> Create access key
把生成的AK和SK保存到本地,方便后续使用,因为SK为了安全,在控制台是没有办法查看的
https配置
如果要开启https访问,要把公私密钥重命名为private.key
和public.crt
,放到config/certs目录下:
CAs private.key public.crt
在yml配置中加入https配置
environment:
...
- MINIO_SERVER_URL=https://you.domain.com:9090
- MINIO_BROWSER_REDIRECT_URL=https://you.domain.com:9091
healthcheck:
test: ["CMD", "curl", "-f", "https://you.domain.com:9090/minio/health/live"]
interval: 30s
timeout: 20s
retries: 3
增加healthcheck用于心跳检测
docker compose -f minio.yml up -d
更新镜像
就可以通过https://you.domain.com:9091访问
0