MinIO Docker一键部署指南:构建私有对象存储

RoyKe
1年前发布

minio的docker部署-构建私有对象存储

  1. 确保服务器上已安装docker和docker-compose服务

若未安装服务请参考前序教程进行安装docker与compose安装教程

  1. 拉取latest版本minio官方docker镜像
docker pull minio/minio:latest
  1. 创建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"
  1. 启动minio服务
docker-compose up -d
  1. ip:9000访问minio控制页面

管理员登录账户密码为docker-compose文件里设置的MINIO_ACCESS_KEY和MINIO_SECRET_KEY

  1. 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;
        }
    }
  1. 创建Bucket即可进行文件存储上传

    1. 创建buket并设置为公开

      image-20241207162254026

      image-20241207162457329

    2. 测试手动上传文件

      image-20241207162602166

    3. 图片地址

      域名/bucket名称/文件名称.png

©原创版权声明
THE END
喜欢就支持一下吧
点赞 0 分享 收藏
评论 抢沙发
取消
易航博客