文件

適用於容器的 MinIO 物件儲存

MinIO 是一個物件儲存解決方案,提供與 Amazon Web Services S3 相容的 API 並支援所有核心 S3 功能。MinIO 旨在部署到任何地方 — 公有或私有雲、裸機基礎設施、協調環境和邊緣基礎設施。

本網站記錄了針對最新穩定版 MinIO 在容器上部署 MinIO 的操作、管理和開發:RELEASE.2024-10-29T16-01-48Z

MinIO 在雙重許可下發布 GNU Affero 通用公共許可證 v3.0MinIO 商業許可證。透過 MinIO SUBNET 註冊的部署使用商業許可證,並包含 24/7 MinIO 支援的存取權。

您可以使用 MinIO 主控台 和我們在 https://play.min.io 上的 play 伺服器開始探索 MinIO 功能。play 是一個執行最新穩定 MinIO 伺服器的公共 MinIO 叢集。任何上傳到 play 的檔案都應視為公開且不受保護。有關連線到 play 的更多資訊,請參閱 MinIO 主控台 play 登入

容器快速入門

此程序將 單節點單磁碟 MinIO 伺服器部署到 Docker 或 Podman 上,以用於 MinIO 物件儲存及其 S3 相容 API 層的早期開發和評估。

有關部署到生產環境的說明,請參閱 部署 MinIO:多節點多磁碟

先決條件

  • 已安裝 PodmanDocker

  • 對用於持久性磁碟區的資料夾或磁碟具有讀取、寫入和刪除權限。

程序

  1. 啟動容器

    選取容器類型以檢視建立容器的說明。GNU/Linux 和 MacOS 或 Windows 都有說明可供使用。

    Podman (Rootfull 或 Rootless)

    這些步驟適用於 rootfull 和 rootless 容器。

    mkdir -p ~/minio/data
    
    podman run \
       -p 9000:9000 \
       -p 9001:9001 \
       -v ~/minio/data:/data \
       -e "MINIO_ROOT_USER=ROOTNAME" \
       -e "MINIO_ROOT_PASSWORD=CHANGEME123" \
       quay.io/minio/minio server /data --console-address ":9001"
    

    上述範例的運作方式如下

    • podman run 會啟動容器。該程序會附加到終端機工作階段,並在退出終端機時結束。

    • -p 會將本機連接埠繫結到容器連接埠。

    • -v 會將檔案路徑設定為容器使用的持久性磁碟區位置。當 MinIO 將資料寫入 /data 時,該資料會鏡像到本機路徑 ~/minio/data,使其在容器重新啟動之間持續存在。您可以設定使用者具有讀取、寫入和刪除權限的任何檔案路徑來使用。

    • -e 分別設定環境變數 MINIO_ROOT_USERMINIO_ROOT_PASSWORD。這些變數設定 root 使用者憑證。請變更範例值以用於您的容器。

    podman run \
       -p 9000:9000 \
       -p 9001:9001 \
       -v D:\minio\data:/data \
       -e "MINIO_ROOT_USER=ROOTNAME" \
       -e "MINIO_ROOT_PASSWORD=CHANGEME123" \
       quay.io/minio/minio server /data --console-address ":9001"
    

    上述範例的運作方式如下

    • podman run 啟動容器。

    • -p 會將本機連接埠繫結到容器連接埠。

    • -v 設定一個檔案路徑作為容器使用的持久性磁碟區位置。當 MinIO 將資料寫入 /data 時,該資料會鏡像到本機路徑 D:\minio\data,使其在容器重新啟動之間保持持久性。您可以設定使用者具有讀取、寫入和刪除權限的任何檔案路徑來使用。

    • -e 分別設定環境變數 MINIO_ROOT_USERMINIO_ROOT_PASSWORD。這些變數設定 root 使用者憑證。請變更範例值以用於您的容器。

    Docker (Rootfull)
    mkdir -p ~/minio/data
    
    docker run \
       -p 9000:9000 \
       -p 9001:9001 \
       --name minio \
       -v ~/minio/data:/data \
       -e "MINIO_ROOT_USER=ROOTNAME" \
       -e "MINIO_ROOT_PASSWORD=CHANGEME123" \
       quay.io/minio/minio server /data --console-address ":9001"
    

    上述範例的運作方式如下

    • mkdir 在您的 home 目錄中的 ~/minio/data 建立一個新的本機目錄。

    • docker run 啟動 MinIO 容器。

    • -p 會將本機連接埠繫結到容器連接埠。

    • -name 為容器建立一個名稱。

    • -v 設定一個檔案路徑作為容器使用的持久性磁碟區位置。當 MinIO 將資料寫入 /data 時,該資料會鏡像到本機路徑 ~/minio/data,使其在容器重新啟動之間保持持久性。您可以將 ~/minio/data 替換為使用者具有讀取、寫入和刪除權限的其他本機檔案位置。

    • -e 分別設定環境變數 MINIO_ROOT_USERMINIO_ROOT_PASSWORD。這些變數設定 root 使用者憑證。請變更範例值以用於您的容器。

    docker run \
       -p 9000:9000 \
       -p 9001:9001 \
       --name minio1 \
       -v D:\minio\data:/data \
       -e "MINIO_ROOT_USER=ROOTUSER" \
       -e "MINIO_ROOT_PASSWORD=CHANGEME123" \
       quay.io/minio/minio server /data --console-address ":9001"
    

    上述範例的運作方式如下

    • docker run 啟動 MinIO 容器。

    • -p 會將本機連接埠繫結到容器連接埠。

    • -v 設定一個檔案路徑作為容器使用的持久性磁碟區位置。當 MinIO 將資料寫入 /data 時,該資料會鏡像到本機路徑 D:\minio\data,使其在容器重新啟動之間保持持久性。您可以將 D:\minio\data 替換為使用者具有讀取、寫入和刪除權限的其他本機檔案位置。

    • -e 分別設定環境變數 MINIO_ROOT_USERMINIO_ROOT_PASSWORD。這些變數設定 root 使用者憑證。請變更範例值以用於您的容器。

    Docker (Rootless)
    mkdir -p ${HOME}/minio/data
    
    docker run \
       -p 9000:9000 \
       -p 9001:9001 \
       --user $(id -u):$(id -g) \
       --name minio1 \
       -e "MINIO_ROOT_USER=ROOTUSER" \
       -e "MINIO_ROOT_PASSWORD=CHANGEME123" \
       -v ${HOME}/minio/data:/data \
       quay.io/minio/minio server /data --console-address ":9001"
    

    上述範例的運作方式如下

    • mkdir 在您的 home 目錄中的 ~/minio/data 建立一個新的本機目錄。

    • docker run 啟動 MinIO 容器。

    • -p 會將本機連接埠繫結到容器連接埠。

    • -user 將容器的使用者名稱設定為目前使用者和使用者群組的原則。

    • -name 為容器建立一個名稱。

    • -v 設定一個檔案路徑作為容器使用的持久性磁碟區位置。當 MinIO 將資料寫入 /data 時,該資料實際上會寫入本機路徑 ~/minio/data,使其在容器重新啟動之間保持持久性。您可以將 ${HOME}/minio/data 替換為使用者 home 目錄中使用者具有讀取、寫入和刪除權限的其他位置。

    • -e 分別設定環境變數 MINIO_ROOT_USERMINIO_ROOT_PASSWORD。這些變數設定 root 使用者憑證。請變更範例值以用於您的容器。

    先決條件

    docker run \
       -p 9000:9000 \
       -p 9001:9001 \
       --name minio1 \
       --security-opt "credentialspec=file://path/to/file.json"
       -e "MINIO_ROOT_USER=ROOTUSER" \
       -e "MINIO_ROOT_PASSWORD=CHANGEME123" \
       -v D:\data:/data \
       quay.io/minio/minio server /data --console-address ":9001"
    

    上述範例的運作方式如下

    • docker run 啟動 MinIO 容器。

    • -p 會將本機連接埠繫結到容器連接埠。

    • -name 為容器建立一個名稱。

    • --security-opt 通過 credentialspec 檔案授予容器對群組管理服務帳戶 (gMSA)的存取權限。

    • -v 設定一個檔案路徑作為容器使用的持久性磁碟區位置。當 MinIO 將資料寫入 /data 時,該資料實際上會寫入本機路徑 D:\data,使其在容器重新啟動之間保持持久性。您可以將 D:\data 替換為使用者具有讀取、寫入和刪除權限的其他本機檔案位置。

    • -e 分別設定環境變數 MINIO_ROOT_USERMINIO_ROOT_PASSWORD。這些變數設定 root 使用者憑證。請變更範例值以用於您的容器。

  2. 將您的瀏覽器連線至 MinIO 伺服器

    前往瀏覽器並前往 http://127.0.0.1:9000minio server 命令輸出中指定的其中一個主控台位址,以存取 MinIO 主控台。例如,範例輸出中的 主控台:http://192.0.2.10:9001 http://127.0.0.1:9001 表示兩個可用於連線至主控台的位址。

    雖然連接至 API 使用連接埠 9000,但 MinIO 會自動將瀏覽器存取重新導向至 MinIO 主控台。

    使用您在 MINIO_ROOT_USERMINIO_ROOT_PASSWORD 環境變數中定義的憑證登入主控台。

    MinIO Console displaying login screen

    您可以使用 MinIO 主控台執行一般管理工作,例如身分識別和存取管理、計量和記錄監控,或伺服器設定。每個 MinIO 伺服器都包含其自己的內嵌 MinIO 主控台。

    MinIO Console displaying bucket start screen

    如需更多資訊,請參閱MinIO 主控台文件。

  3. (選用)安裝 MinIO 用戶端

    MinIO 用戶端允許您從命令列使用您的 MinIO 磁碟區。

    選取您的作業系統以取得指示。

    GNU/Linux

    MinIO 用戶端允許您從命令列使用您的 MinIO 伺服器。

    下載 mc 用戶端,並將其安裝到系統 PATH 上的位置,例如 /usr/local/bin。您也可以從下載位置執行二進位檔案。

    wget https://dl.min.io/client/mc/release/linux-amd64/mc
    chmod +x mc
    sudo mv mc /usr/local/bin/mc
    

    使用 mc alias set 建立與您本機部署相關聯的新別名。您可以對此別名執行 mc 命令

    mc alias set local http://127.0.0.1:9000 {MINIO_ROOT_USER} {MINIO_ROOT_PASSWORD}
    mc admin info local
    

    {MINIO_ROOT_USER}{MINIO_ROOT_PASSWORD} 替換為您使用 -e 旗標為容器定義的憑證。

    mc alias set 採用四個引數

    • 別名的名稱

    • MinIO 伺服器的主機名稱或 IP 位址和連接埠

    • MinIO 使用者的存取金鑰

    • MinIO 使用者的秘密金鑰

    如需有關此命令的其他詳細資料,請參閱 mc alias set

    MacOS

    MinIO 用戶端允許您從命令列使用您的 MinIO 磁碟區。

    執行下列命令以使用 Homebrew 安裝最新的穩定 MinIO 用戶端套件。

    brew install minio/stable/mc
    

    執行下列命令以使用 Apple 晶片的二進位套件安裝最新的穩定 MinIO 用戶端套件。

    curl -O https://dl.min.io/client/mc/release/darwin-arm64/mc
    chmod +x mc
    sudo mv mc /usr/local/bin/mc
    

    執行下列命令以使用 Intel 晶片的二進位套件安裝最新的穩定 MinIO 用戶端套件。

    curl -O https://dl.min.io/client/mc/release/darwin-amd64/mc
    chmod +x mc
    sudo mv mc /usr/local/bin/mc
    

    使用 mc alias set 快速驗證並連線至 MinIO 部署。

    mc alias set local http://127.0.0.1:9000 {MINIO_ROOT_USER} {MINIO_ROOT_PASSWORD}
    mc admin info local
    

    {MINIO_ROOT_USER}{MINIO_ROOT_PASSWORD} 替換為您使用 -e 旗標為容器定義的憑證。

    mc alias set 採用四個引數

    • 別名的名稱

    • MinIO 伺服器的主機名稱或 IP 位址和連接埠

    • MinIO 使用者的存取金鑰

    • MinIO 使用者的秘密金鑰

    如需有關此命令的其他詳細資料,請參閱 mc alias set

    Windows

    從下列連結下載適用於 Windows 的獨立 MinIO 伺服器

    https://dl.min.io/client/mc/release/windows-amd64/mc.exe

    按兩下檔案以執行它。或者,在命令提示字元或 PowerShell 中執行下列命令。

    \path\to\mc.exe --help
    

    使用 mc alias set 快速驗證並連線至 MinIO 部署。

    mc.exe alias set local http://127.0.0.1:9000 {MINIO_ROOT_USER} {MINIO_ROOT_PASSWORD}
    mc.exe admin info local
    

    {MINIO_ROOT_USER}{MINIO_ROOT_PASSWORD} 替換為您使用 -e 旗標為容器定義的憑證。

    mc alias set 採用四個引數

    • 別名的名稱

    • MinIO 伺服器的主機名稱或 IP 位址和連接埠

    • MinIO 使用者的存取金鑰

    • MinIO 使用者的秘密金鑰

    如需有關此命令的其他詳細資料,請參閱 mc alias set

後續步驟