使用 MinIO 搭建屬於自己的對象存儲(OSS)


使用 MinIO 搭建屬於自己的對象存儲(OSS)

MinIO 是在 GNU Affero 通用公共許可證 v3.0 下發布的高性能對象存儲。 它是與 Amazon S3 雲存儲服務兼容的 API。 使用 MinIO 為機器學習、分析和應用程序數據工作負載構建高性能基礎架構。

官網:https://min.io/
中文官網:http://www.minio.org.cn/
GitHub:https://github.com/minio/


若想搭建分布式的對象存儲,可以參考其官方給出的文件編寫。官方提供了 docker-compose 和 kubernetes 兩種方式。

本教程使用的是 docker-compose 和單機布署的方式,內容參考

docker-compose.yml 文件內容

version: '3'

services:
  server:
    image: quay.io/minio/minio:RELEASE.2022-03-08T22-28-51Z
    command: server --console-address ":9001" /data
    environment:
      MINIO_ROOT_USER: user
      MINIO_ROOT_PASSWORD: password
      MINIO_BROWSER_REDIRECT_URL: http://localhost:9001
      MINIO_SERVER_URL: http://localhost:9000
    healthcheck:
      test: ["CMD", "curl", "-f", "http://localhost:9000/minio/health/live"]
      interval: 30s
      timeout: 20s
      retries: 3
    volumes:
      - data:/data
    ports:
      - "9000:9000"
      - "9001:9001"

volumes:
  data:

environment 環境變量說明請查看 https://docs.min.io/minio/baremetal/reference/minio-server/minio-server.html

注意:
1、 image 可修改為最新的發布版本(根據其官方 GitHub Release 發布頁);
2、MINIO_ROOT_USERMINIO_ROOT_PASSWORD 若未配置,則默認賬號和密碼均為 minioadmin
3、 MINIO_BROWSER_REDIRECT_URL 為 Console 管理平台登錄網址,若不希望通過瀏覽器登錄,可以增加 MINIO_BROWSER: off,禁止瀏覽器登錄;
4、MINIO_SERVER_URL 為文件分享網址。若未設置,則默認為本身的容器 IP,不可正常使用。若使用了 nginx 反向代理,則更需要設置此參數;

使用

首先,運行容器。

# 運行容器
docker compose up -d

通過瀏覽器管理

  • 登錄 Console 平台
    image

  • 創建存儲桶
    image
    image

  • 管理或瀏覽存儲桶
    image

  • 上傳文件
    image

  • 分享文件
    image

  • 復制分享網址
    image

  • 瀏覽器查看分享的內容
    image

  • 不帶密鑰查看時,權限不足提示
    image

  • 將存儲桶設置為“公開”形式,則可不帶密鑰查看文件內容
    image
    image
    image

  • 再次查看分享的內容(不再提示“權限不足”)
    image

  • 添加一對密鑰
    image
    image

通過 MinIO Client (mc) 管理

  • 使用默認賬密登錄
    image

  • 使用 Console 后台創建的密鑰登錄
    image

  • 更多命令行

# 登錄
mc alias set test2 http://localhost:9000

# 支持 S3 協議的平台登錄(比如位於“華南”的七牛雲)
# S3 服務域名: https://developer.qiniu.com/kodo/4088/s3-access-domainname
mc alias set qiniu https://s3-cn-south-1.qiniucs.com

# 復制 test.txt 文件到存儲桶
mc cp  test.txt test2/test/

# 刪除 test 存儲桶中的 test.txt 文件
mc rm test2/test/test.txt

# 查看存儲桶中的文件(夾)
mc ls test2/test/

官方命令行教程地址:https://docs.min.io/minio/baremetal/reference/minio-mc.html#command-mc

注意
若使用 nginx 反向代理,則需要在 server 配置一些參數,使之可以上傳大文件,可參考其官方倉庫文檔說明。

        # To allow special characters in headers
        ignore_invalid_headers off;
        # Allow any size file to be uploaded.
        # Set to a value such as 1000m; to restrict file size to a specific value
        client_max_body_size 0;
        # To disable buffering
        proxy_buffering off;
        proxy_request_buffering off;


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM