minio的docker部署-构建私有对象存储
- 确保服务器上已安装docker和docker-compose服务
若未安装服务请参考前序教程进行安装docker与compose安装教程
- 拉取latest版本minio官方docker镜像
docker pull minio/minio:latest
- 创建docker-compose文件并进行数据映射
mkdir /home/apps/minio
vim docker-compose.yml
services:
minio:
image: minio/minio
container_name: minio
restart: always
environment:
- MINIO_ACCESS_KEY=minioadmin
- MINIO_SECRET_KEY=minioadmin
volumes:
- /home/apps/minio/data:/data
- /home/apps/minio/config:/root/.minio
ports:
- "9000:9000"
- "9090:9090"
command: server /data --console-address ":9090" --address ":9000"
- 启动minio服务
docker-compose up -d
- ip:9000访问minio控制页面
管理员登录账户密码为docker-compose文件里设置的MINIO_ACCESS_KEY和MINIO_SECRET_KEY
- nginx反向代理
通过访问 域名/buket名/文件名 即可获取
# 强制https
server {
listen 80;
server_name minio.kworlds.cn;
# 将所有 HTTP 请求重定向到 HTTPS
return 301 https://$host$request_uri;
}
server {
listen 80;
server_name oss.kworlds.cn;
# 将所有 HTTP 请求重定向到 HTTPS
return 301 https://$host$request_uri;
}
# minio控制带
server {listen 443 ssl http2;
server_name minio.kworlds.cn;
ssl_certificate /etc/nginx/ssl/kworlds.cn.cer;
ssl_certificate_key /etc/nginx/ssl/kworlds.cn.key;
ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3;
ssl_ciphers EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5;
ssl_prefer_server_ciphers on;
location / {
proxy_pass http://127.0.0.1:9090/;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_buffering off;
proxy_request_buffering off;
}
}
# minio文件获取接口
server {listen 443 ssl http2;
server_name oss.kworlds.cn;
ssl_certificate /etc/nginx/ssl/kworlds.cn.cer;
ssl_certificate_key /etc/nginx/ssl/kworlds.cn.key;
ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3;
ssl_ciphers EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5;
ssl_prefer_server_ciphers on;
location / {
proxy_pass http://127.0.0.1:9000/;
# 添加了websocket支持
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_next_upstream http_500 http_502 http_503 http_504 error timeout invalid_header;
proxy_set_header Host $http_host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
创建Bucket即可进行文件存储上传
创建buket并设置为公开
测试手动上传文件
图片地址
域名/bucket名称/文件名称.png