🔧 阿川の電商水電行
Shopify 顧問、維護與客製化
💡
小任務 / 單次支援方案
單次處理 Shopify 修正/微調
⭐️
維護方案
每月 Shopify 技術支援 + 小修改 + 諮詢
🚀
專案建置
Shopify 功能導入、培訓 + 分階段交付

前言

MinIO 是具備 Amazon S3 相容 API 的物件儲存系統。
僅需在 docker-compose.yml 中撰寫幾行程式碼,便能啟動 S3 相容的儲存系統,因而在本地開發環境中被廣泛用作 S3 模擬器。DockerHub 的累計下載數已超過 10 億次

MinIO 的 OSS 版本於 2025 年 10 月停止 Docker 映像的發佈,並於 2026 年 2 月將 GitHub 存儲庫歸檔。官方的維護已完全結束。

由於日本語的相關資訊仍然較少,這篇文章將結合英語圈的資訊,按時間順序整理發生的事件,並介紹替代方案的候選者。

MinIO 是什麼

MinIO 是具備 Amazon S3 相容 API 的開源物件儲存系統。

主要特點如下:

  • 提供 S3 相容的 API,因而可直接使用 AWS SDK
  • 透過單一 Docker 映像啟動,設置簡單
  • 附帶網頁管理控制台(GUI)
  • 按 AGPL v3 授權公開

特別是在開發環境中被廣泛使用的「生產環境使用 AWS S3,地方環境使用 MinIO」的架構,廣受採用。僅需在 docker-compose.yml 中撰寫幾行程式碼,就能輕易獲得 S3 相容的儲存,這是其受歡迎的原因之一。

發生了什麼 — 時間軸整理

MinIO OSS 版的結束並非突如其來的事件,自 2021 年起便已逐步進行。

時期 事件
2021年5月 將授權由 Apache 2.0 變更為 AGPL v3
2022〜2023年 與 Nutanix、Weka 之間因授權違反產生對立
2025年5月 從原始碼中刪除管理控制台(WebUI)
2025年10月15日 發佈安全修正版本(RELEASE.2025-10-15...
2025年10月16日 CVE(漏洞)資訊公開,但官方未發佈修正過的 Docker 映像
2025年10月下旬 停止在 DockerHub 和 Quay.io 提供官方映像。 換言之「轉為僅提供源碼的分發」
2025年12月3日 將存儲庫轉為「維護模式」
2026年2月12日 在 README 中明確標示「不再維護」
2026年2月13日 將存儲庫歸檔(維護完全結束)

在 2025 年 5 月時,管理控制台從原始碼中被刪除,這顯示了「便利的功能只在付費版中提供」的方向。

決定性轉折發生在 2025 年 10 月中旬至下旬。安全修正版本發佈後緊接著,便轉向停止 Docker 映像的分發。

問題出在哪裡

Docker 映像的停止發佈本身作為 OSS 項目上的決策,可以理解。然而,其 進行方式 收藏了許多批評。

沒有事前通知

停止發佈的通知是在事後發佈的。安全修正版本發佈時突然進行,並未給用戶準備的餘地。

漏洞應對的管道中斷

雖然 CVE 被公佈,但官方沒有發佈修正過的 Docker 映像。現有用戶被迫在繼續使用脆弱版本或自己從源碼中編譯之間做出選擇。

自動更新的中斷

對於已將 Watchtower 等工具納入運行流程的用戶而言,映像停止發佈意味著運行流程被打斷。

「自己去編譯」的回應

針對 GitHub Issue 的查詢,MinIO 的維護者如是回答:

This project is a source only distribution now, if you want to build containers you need to build them yourselves.
(這個項目已轉為僅提供原始碼的發佈。如果您需要容器,請自行編譯。)

對於使用了超過 10 億次下載的 Docker 映像的用戶來說,這樣的答案顯然不夠充分。

對本地開發環境的影響是什麼?

許多人可能仍在使用 MinIO 作為本地開發的 S3 模擬器。我們來梳理「這對我有關係嗎?」這個問題。

現在並不會立刻失效。 如果本地已有快取的映像,則在可預見的未來還可以繼續使用。

不過 CVE(漏洞)的風險並非零。儘管公開的風險較低,但在開發裝置內可能出現的認證資訊洩露等情況仍然可造成影響。

更現實的風險是 無法獲取 Docker 映像。實際上,Docker Hub 上的 RELEASE.2025-10-15T17-29-55Z 標籤已經無法取得。latest 標籤截至 2025 年 9 月的版本也已停止更新(截至 2026 年 2 月)。

這意味著「未來可能無法拉取(pull)」的情況已不是假設, 目前已經有部分標籤無法獲取。在新成員環境設置或 CI 重構時,docker compose up 可能會失敗。

社群反應

GitHub Issues 的熱度

針對 Docker 映像停止分發的報告 Issue #21647 已被提出,維護者的答覆收到了 超過 200 次的負評(👎)

討論已失去控制,最終該 Issue 被鎖定。

用戶們表達了如下聲音:

  • 「難道要對這個已被下載超過 10 億次的映像,在未經通知的情況下直接捨棄嗎?」
  • 「將安全修正和停止分發同時進行,幾乎是惡意的時機」
  • 「這我只能理解為是誘導用戶使用付費版本」
  • 「ownCloud 也是因為做了同樣的事情而被 Fork 成 Nextcloud 的歷史會重演嗎?」

社群 Fork 的成立

在此情況下,出現了 pgsty/minio 這個社群 Fork。

該專案由 PostgreSQL 發行版「Pigsty」的開發者主導,並進行了如下行動:

  • 恢復刪除的管理控制台
  • 恢復 Docker 映像的發佈(docker pull pgsty/minio
  • 建立 RPM / DEB 套件的自動構建管線
  • 提供文件的鏡像

根據 AGPL v3 授權發佈的代碼,擁有被 Fork 的權利。諷刺的是,MinIO 自身選擇的授權方式,使社群的延續成為可能。

替代方案的候選者

作為從 MinIO 遷移的選擇,提供了幾個選項。

選擇 概要 適用情境
pgsty/minio 社群 Fork。已恢復管理控制台。可透過docker pull pgsty/minio使用 希望將從 MinIO 遷移成本降到最低的場合
LocalStack AWS 服務(包括 S3)的本地模擬器。除了 S3 也支援 SQS、Lambda 等 將來希望在本地使用 S3 以外的 AWS 服務的情況
Garage 輕量級 S3 相容的分散式儲存 需要簡單的 S3 相容儲存的情況
SeaweedFS 高吞吐量的分散式檔案系統。具 S3 相容 API 需要大量資料或高效能的情況
自行編譯 從 MinIO 的原始碼中建立 Docker 映像 不想改變現有架構但能夠承擔維護成本的情況

使用 pgsty/minio 的情況

只需替換現有 docker-compose.yml 的映像名稱即可遷移。

services:
  minio:
    # 變更前: image: minio/minio:RELEASE.2025-07-23T15-54-02Z
    image: pgsty/minio
    command: server /data --console-address ":9001"
    ports:
      - "9000:9000"
      - "9001:9001"

這是最簡單的變更方式,因此作為最近的應對措施最為便利。

使用 LocalStack 的情況

如果預計將來使用 S3 以外的 AWS 服務,轉用 LocalStack 是個可行的選擇。

services:
  localstack:
    image: localstack/localstack:3.0
    ports:
      - "4566:4566"
    environment:
      - SERVICES=s3
      - PERSISTENCE=1
      - AWS_DEFAULT_REGION=ap-northeast-1

但需注意的是,在生成簽名的 URL 時,容器內與瀏覽器的存取路徑可能不同,可能需要針對 S3 客戶端與 Presigned URL 客戶端區分端點。

更詳細的遷移步驟,可以參考文獻中提到的 Zenn 文章。

最後

即使是 DockerHub 上下載超過 10 億次的 Docker 映像,有時候也會在沒有事前通知的情況下停止分發。這次事件正是對此的強烈提示。

因為我自己在專案中也使用過,所以我會重新思考使用方向。

參考文獻

株式会社シンシア

株式会社シンシア 招募實務未經驗的工程師及學生實習生,與我們一起工作。
※ 有關在シンシア的工作情況請見此處。

我們每年都收到超過 100 位實務未經驗者的應徵並進行技術面試。
如果您認為這篇文章有所收穫,能夠參考我們的故事會非常感激!


原文出處:https://qiita.com/kuma_3838/items/b9073cce25766508485a


精選技術文章翻譯,幫助開發者持續吸收新知。

共有 0 則留言


精選技術文章翻譯,幫助開發者持續吸收新知。
🏆 本月排行榜
🥇
站長阿川
📝22  
624
🥈
我愛JS
💬2  
7
評分標準:發文×10 + 留言×3 + 獲讚×5 + 點讚×1 + 瀏覽數÷10
本數據每小時更新一次
🔧 阿川の電商水電行
Shopify 顧問、維護與客製化
💡
小任務 / 單次支援方案
單次處理 Shopify 修正/微調
⭐️
維護方案
每月 Shopify 技術支援 + 小修改 + 諮詢
🚀
專案建置
Shopify 功能導入、培訓 + 分階段交付