跳转到主要内容

minio

minio的docker-compose的文件

# vi docker-compose.yaml

version: '3'
services:
  velero-minio:
    image: minio/minio:latest
    restart: always # 自动重启
    privileged: true  
    ports:
      - 33900:9000 # client 端口
      - 33901:9001 # console 端口
    volumes:
      - ./data:/data
    command: server /data --console-address :9001 --address :9000 
    environment:
      - MINIO_ROOT_USER=
      - MINIO_ROOT_PASSWORD=!
      # 如果你的minio使用容器启动的,不是独立主机、正式使用的端口与部署的端口不一致,可能显示的地址错误
      - MINIO_SERVER_URL=http://minio.abc.com
      # 如果你的minio使用容器启动的,不是独立主机、正式使用的端口与部署的端口不一致,可能显示的地址错误
      - MINIO_BROWSER_REDIRECT_URL=http://minio-console.abc.com

MINIO_SERVER_URL 和 MINIO_BROWSER_REDIRECT_URL

  • MINIO_BROWSER_REDIRECT_URL

这个是用来访问控制台的,可以使用代理

    location /minio-console/ {
        rewrite ^/minio-console/(.*) /$1 break; # 地址重新,必须
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade; # 开启websocket,必须
        proxy_set_header Connection "upgrade";
        proxy_pass http://localhost:9001;  # MinIO 控制台的地址和端口
    }
}



  • MINIO_SERVER_URL

API端点,console也需要用这个端点访问API,如果这个端点地址不能被console访问,console会出现无法登录或者白屏,如果你的服务器不能回路,那需要做主机解析。如果你确实不能把API地址设置一个单独的域名,可以设置代理,但是minio要兼容s3协议,要求的路径是http://:/<bucket_name>/<object_name> , 此时会出现无法现在,虽然下面的nginx使用路径程序替换掉了一部分,那意味着上传的时候,如果使用的是api,需要加上minio

注:以上内容未验证

location /minio/ {

    rewrite ^/minio/(.*) /$1 break;
    proxy_pass http://192.168.65.2:9000;
}

启动服务

docker-compose -f docker-compse.yaml up -d


网络共享

yum install epel-release
yum install s3fs-fuse

echo <USER>:<PASSWORD> > /etc/passwd-s3fs
chmod 640 /etc/passwd-s3fs

#测试一下
# s3fs -o passwd_file=/etc/passwd-s3fs upload /data/nfs -o use_path_request_style -o url=http://172.130.100.91:9000

# 开机自动挂载
upload /data/nfs fuse.s3fs _netdev,allow_other,use_path_request_style,url=http://172.130.100.91:9000	 0	 0