Superheat CN 上的映像檔
Superheat CN 的範本映像檔放在阿里雲容器映像服務(ACR)上,GPU 主機從那裡拉取。本頁說明目錄中的映像檔放在哪裡、你自己填寫的映像檔參照會怎麼被拉取,以及如何讓你自己的映像檔在主機上拉得下來。
登錄庫
superheat-cn-registry.cn-shanghai.cr.aliyuncs.com
範本用到的映像檔分布在這個登錄庫的兩個命名空間裡:
| 命名空間 | 內容 | 範例 |
|---|---|---|
superheat/ | Superheat 自己發布的映像檔 | superheat-cn-registry.cn-shanghai.cr.aliyuncs.com/superheat/base |
mirror/ | 目錄中用到的第三方映像檔 | superheat-cn-registry.cn-shanghai.cr.aliyuncs.com/mirror/open-webui-open-webui |
下面列出的儲存庫都是公開的,允許匿名拉取。主機拉取時不需要憑證,使用它們的範本也不需要填寫私有登錄庫憑證。
superheat/ 儲存庫
| 儲存庫 | ACR 上的標籤 |
|---|---|
superheat/base | cuda-12.1、cuda-12.4、cuda-12.6、cuda-12.8、latest |
superheat/pytorch | cuda-12.1、cuda-12.4、cuda-12.6、cuda-12.8 |
superheat/axolotl | cuda-12.4 |
superheat/comfyui | cuda-12.4、cuda-12.8 |
superheat/a1111 | cuda-12.1 |
superheat/fooocus | cuda-12.1 |
superheat/faster-whisper | cuda-12.6 |
superheat/kohya | cuda-12.8 |
範本標籤為 [Automatic] 時,啟動時會在該儲存庫發布的標籤中,挑出所選機器的 CUDA 能執行的最新一個。基礎映像檔本身請見基礎映像檔。
mirror/ 儲存庫
第三方映像檔的 ACR 參照是這樣得出的:去掉原登錄庫的主機,把剩下路徑中的 / 換成 -,放進 mirror/。例如 ghcr.io/open-webui/open-webui 會變成 mirror/open-webui-open-webui;Docker Hub 官方映像檔的路徑前面會先補上 library/。
映像檔同步只複製目錄中可以啟動的範本用到的映像檔,而且只複製每個範本釘選的那一個標籤——mirror/ 並不是上游儲存庫的完整副本。目前同步的第三方映像檔:
| 範本 | ACR 上的參照(省略登錄庫主機) | 標籤 |
|---|---|---|
| TensorFlow (Jupyter) | mirror/tensorflow-tensorflow | latest-gpu-jupyter |
| Data Science (Jupyter) | mirror/jupyter-datascience-notebook | latest |
| Open WebUI | mirror/open-webui-open-webui | main |
| Text Embeddings Inference | mirror/huggingface-text-embeddings-inference | 1.5 |
vLLM (OpenAI API)、Ollama、InvokeAI 與 LLaMA-Factory 不再同步。它們的服務無法對每個請求都要求執行個體存取權杖,所以在做到之前被標記為即將推出,映像檔同步也會略過它們。已經在執行的執行個體不受影響。
目錄中的參照與你填寫的參照
精選範本的映像檔參照在寫入範本目錄時就已經改寫成 ACR 參照。所以精選範本的卡片、詳細資料以及它們的副本顯示的都是 ACR 參照,主機也從 ACR 拉取。
你新增或編輯範本時填寫的映像檔參照會原樣拉取,不做任何改寫。寫 pytorch/pytorch,主機就會去 Docker Hub 拉取,而 Docker Hub 從中國大陸的主機無法連線,這次部署就會失敗。
所以要不就從精選範本建立副本再修改,要不就寫一個中國大陸主機拉得到的完整參照:上面列出的 ACR 參照,或你自己的中國大陸登錄庫。
中國大陸主機拉不到的登錄庫
| 登錄庫 | 從中國大陸的主機 |
|---|---|
Docker Hub,包括 pytorch/pytorch 這類不含登錄庫主機的短名稱 | 無法連線 |
GHCR(ghcr.io) | 非常慢 |
| quay.io、nvcr.io | 很慢或被封鎖 |
映像檔無法拉取的執行個體不會進入 running 狀態,執行個體日誌中會有拉取錯誤。請參閱日誌。
nvcr.io 範本顯示「即將推出」
NVIDIA NGC(nvcr.io)的映像檔沒有同步到 ACR:NGC 映像檔的授權沒有明確允許再散布。因此目錄中來自 nvcr.io 的範本 —— 例如 Triton Inference Server 與 RAPIDS —— 在 Superheat CN 上都被標記為即將推出,在任何機器上都無法啟動。卡片上會顯示 即將推出 徽章,啟動 按鈕會停用,工具提示為 「執行功能將於後續版本推出。」;在詳細資料對話框中,同一個按鈕會寫著 即將推出。
這些範本仍然可以開啟檢視。請參閱「即將推出」是什麼意思。
ssh 與 jupyter 模式要用 ACR 上的映像檔
在 ssh 與 jupyter 模式下,Superheat 會用基礎映像檔的進入點接管容器:啟動 sshd(jupyter 模式下還有 JupyterLab)與你的啟動時指令碼,並開放 SSH 連接埠。Superheat 依據映像檔參照決定是否接管。在 Superheat CN 上:
| 範本上的映像檔 | 在 ssh / jupyter 模式下會怎樣 |
|---|---|
superheat-cn-registry.cn-shanghai.cr.aliyuncs.com/superheat/<儲存庫> | Superheat 接管進入點,正常啟動 |
不含 ACR 主機的 superheat/base 等寫法 | 部署失敗:Superheat CN 只接受 ACR 上的基礎映像檔 |
| 其他任何映像檔,包括你以基礎映像檔為底建置、推送到自己登錄庫的映像檔 | 執行映像檔自己的進入點。Superheat 不會接管它,也不會自動開放 SSH 連接埠 |
對於最後一類映像檔,請使用 args 模式,並在範本上宣告它提供服務的連接埠。請參閱啟動模式與連接埠。
使用你自己的映像檔
- 把映像檔推送到一個中國大陸的登錄庫,例如你自己的阿里雲 ACR 執行個體。
- 在範本的 映像檔 欄位填寫含登錄庫主機的完整參照,例如
acme-registry.cn-shanghai.cr.aliyuncs.com/acme/trainer。登錄庫主機就是從這個參照推導出來的。 - 在 標籤 欄位釘選一個實際存在的標籤。
[Automatic]只有對superheat/底下的映像檔才會解析成cuda-<minor>標籤,對其他映像檔則視為latest。 - 如果儲存庫是私有的,請在範本的 私有登錄庫 區段填寫使用者名稱與存取權杖,例如你的 ACR 執行個體的存取憑證。請參閱私有登錄庫。
- 模式 選 Args,並宣告映像檔提供服務的連接埠。原因請見上一節。
需要基礎映像檔裡的工具時,可以 FROM ACR 上的基礎映像檔來建置,它允許匿名拉取。請參閱基礎映像檔。