使用容器登錄檔 (Container registries)

容器登錄檔是一個儲存與內容傳遞系統,用於保存具名的容器映像檔,並提供各種標籤版本。

使用者可以從下列來源連線至容器登錄檔

將映像檔推送至容器登錄檔

在部署容器映像檔之前,必須先將映像檔上傳至容器登錄檔。該映像檔可以上傳至 Docker HubAzure Container Registry (ACR) 或其他登錄檔。無論您是推送到 Docker Hub、Azure Container Registry 還是任何其他登錄檔,都可以遵循相同的步驟來推送映像檔。如果您尚未擁有 Azure Container Registry,可以在「推送」(Push) 步驟中建立一個。

  1. 開啟容器總管 (Container Explorer),在「登錄檔」(Registries) 檢視下選擇「連線登錄檔...」(Connect Registry...) 圖示,並依照提示操作。選擇供應商(例如 Azure 或 Docker Hub)並提供連線至登錄檔的憑證。若出現提示,請安裝 Azure Resources 擴充功能。

    Connect to Registry

  2. 現在,登錄檔將顯示在「登錄檔」(Registries) 下方。

    Registries

  3. (選用)標記映像檔。為了將映像檔上傳至登錄檔,需要使用登錄檔名稱對映像檔進行標記,以便 `docker push` 指令能將其上傳至正確的登錄檔。如果您在嘗試推送時未標記映像檔,VS Code 會詢問您要將該映像檔與哪個登錄檔關聯。

    • 您先前建置的映像檔會出現在容器總管的「映像檔」(Images) 檢視中。按一下滑鼠右鍵並選擇「標記...」(Tag...)。

      Tag image

    • 指定新名稱 <您的登錄檔或使用者名稱>/<映像檔名稱>:<標籤> 並完成標記動作。例如,ACR 的新映像檔名稱可能是 mainacr.azurecr.io/webapp6:latest,而 Docker Hub 則為 myusername/webapp6:latest

  4. 該映像檔會顯示在容器總管中「映像檔」(Images) 檢視下,歸類在映像檔標籤所指向的登錄檔中。選取此映像檔並選擇「推送」(Push)。如果映像檔尚未標記,系統會提示您選擇要推送到哪個登錄檔,或建立新的登錄檔,映像檔將根據您的選擇進行標記。

    Push image

  5. 推送指令完成後,重新整理映像檔推送到的登錄檔節點,上傳的映像檔就會顯示出來。

    Refresh registry

Docker Hub

這會連線至 Docker Hub 並列出給定帳戶下的所有儲存庫與映像檔。選取此選項後,您需要輸入您的 Docker Hub 憑證。

Docker Hub

對於 Docker Hub 登錄檔中的每個儲存庫,可以執行下列動作:

  • 提取儲存庫 (Pull repository):將給定儲存庫中的所有映像檔複製到本機
  • 在瀏覽器中開啟 (Open in browser):開啟瀏覽器並前往 Docker Hub 上的指定儲存庫
  • 重新整理 (Refresh):重新整理儲存庫以反映變更

對於儲存庫中的每個標記映像檔,可以執行下列動作:

  • 提取映像檔 (Pull image):將映像檔的最新版本複製到本機
  • 複製完整標籤 (Copy Full Tag):將完整標籤複製到剪貼簿
  • 部署映像檔至 Azure App Service (Deploy Image to Azure App Service):將映像檔部署至 Azure App Service,請參閱將映像檔部署至 Azure 頁面
  • 部署映像檔至 Azure Container Apps (Deploy Image to Azure Container Apps):將映像檔部署至 Azure Container Apps,請參閱將映像檔部署至 Azure 頁面
  • 在瀏覽器中開啟 (Open in browser):開啟瀏覽器並前往 Docker Hub 上的指定映像檔

Azure Container Registry

此選項需要 Azure Resources 擴充功能,以便連線至您的 Azure 帳戶並顯示所有不同的訂用帳戶與登錄檔。驗證完成後,「Azure」節點將顯示訂用帳戶以及各自擁有的登錄檔。

Azure Container Registry

對於每個登錄檔,使用者可以使用內容選單執行不同的動作:

Azure registry context menu

  • 刪除登錄檔 (Delete Registry):永久刪除該登錄檔
  • 在入口網站中開啟 (Open in Portal):開啟瀏覽器並前往 Azure 入口網站中的登錄檔
  • 檢視屬性 (View Properties):以 JSON 格式開啟登錄檔屬性
  • 重新整理 (Refresh):重新整理登錄檔以反映變更

對於給定登錄檔中的每個儲存庫,可以執行下列動作:

Azure repository context menu

  • 提取儲存庫 (Pull Repository):將給定儲存庫中的所有映像檔複製到本機
  • 刪除儲存庫 (Delete Repository):永久刪除該儲存庫
  • 重新整理 (Refresh):重新整理儲存庫以反映變更

對於儲存庫中的每個標記映像檔,可以執行下列動作:

Azure image context menu

  • 提取映像檔 (Pull Image):將映像檔的最新版本複製到本機
  • 複製完整標籤 (Copy Full Tag):將完整標籤複製到剪貼簿
  • 複製映像檔摘要 (Copy Image Digest):複製映像檔摘要,這是一個 Docker 使用的 SHA256 雜湊識別碼,並存入剪貼簿。關於映像檔摘要的更多資訊,請參閱 Docker 文件
  • 檢查映像檔資訊清單 (Inspect Image Manifest):檢查映像檔的登錄檔資訊清單 (manifest)。這與檢查已提取至本機的映像檔不同。
  • 部署映像檔至 Azure App Service (Deploy Image to Azure App Service):將映像檔部署至 Azure App Service,請參閱將映像檔部署至 Azure 頁面
  • 部署映像檔至 Azure Container Apps (Deploy Image to Azure Container Apps):將映像檔部署至 Azure Container Apps,請參閱將映像檔部署至 Azure 頁面
  • 移除映像檔標籤 (Untag Image):移除映像檔標籤
  • 刪除映像檔 (Delete Image):永久刪除該映像檔

GitHub

這會連線至您 GitHub 帳戶中的容器登錄檔。選取此選項後,系統會要求您輸入 GitHub 帳戶憑證。

GitHub

對於 GitHub 登錄檔中的每個儲存庫,可以執行下列動作:

  • 提取儲存庫 (Pull Repository):將給定儲存庫中的所有映像檔複製到本機
  • 重新整理 (Refresh):重新整理儲存庫以反映變更

對於儲存庫中的每個標記映像檔,可以執行下列動作:

  • 提取映像檔 (Pull Image):將映像檔的最新版本複製到本機
  • 複製完整標籤 (Copy Full Tag):將完整標籤複製到剪貼簿
  • 複製映像檔摘要 (Copy Image Digest):複製映像檔摘要,這是一個 Docker 使用的 SHA256 雜湊識別碼,並存入剪貼簿。關於映像檔摘要的更多資訊,請參閱 Docker 文件
  • 檢查映像檔資訊清單 (Inspect Image Manifest):檢查映像檔的登錄檔資訊清單 (manifest)。這與檢查已提取至本機的映像檔不同。
  • 部署映像檔至 Azure App Service (Deploy Image to Azure App Service):將映像檔部署至 Azure App Service,請參閱將映像檔部署至 Azure 頁面
  • 部署映像檔至 Azure Container Apps (Deploy Image to Azure Container Apps):將映像檔部署至 Azure Container Apps,請參閱將映像檔部署至 Azure 頁面

後續步驟

© . This site is unofficial and not affiliated with Microsoft.