從專用登錄中的映像檔建立工作
建立您的工作,並在該工作中使用私人註冊表(例如私人 Docker Hub)中的影像。 您可以透過控制台或使用 CLI 建立工作。
開始之前
- 若要從專用登錄取回映像檔,您必須先建立專用登錄。 例如,若要建立專用 Docker Hub 登錄,請參閱 Docker Hub 文件。
- 建立專用登錄之後,請 將映像檔推送至其中。
- 您也可以設定存取記號。 透過使用存取記號,您可以更輕鬆地授與及撤銷 Docker Hub 帳戶的存取權,而不需要變更密碼。 如需存取權限和 Docker Hub 的詳細資訊,請參閱 建立和管理存取權限。
使用主控台建立參照專用登錄中映像檔的工作
使用 Code Engine 控制台,建立一個使用私有註冊表中映像的作業配置。
在您可以使用參照專用登錄中映像檔的 Code Engine 工作之前,您必須先新增登錄的存取權,以便 Code Engine 可以在工作執行時取回映像檔。
- 開啟 Code Engine 主控台。
- 選擇「開始建立」。
- 請從「可用專案」清單中選取一個專案。 您也可以 建立新的。 請注意,您必須具有選取的專案才能建立工作。
- 選擇工作。
- 輸入工作名稱;例如:
myjob。 - 選取「使用現有容器映像」,然後按一下「設定映像」。
- 針對 登錄伺服器,輸入
docker.io。 - 針對 登錄密碼,選取 建立登錄密碼。
- 從「建立登錄密鑰」頁面中,選擇您的登錄來源。 例如,Docker Hub。
- 從「建立登錄密碼」頁面中,輸入使用者名稱。 對於 Docker Hub,它是您的 Docker ID。
- 在「建立登錄密鑰」頁面上,輸入存取憑證。 若為 Docker Hub,您可以使用 Docker Hub 密碼或存取記號。 如需存取權限和 Docker Hub 的詳細資訊,請參閱 建立和管理存取權限。
- 按一下 建立,以新增 Code Engine的登錄密鑰。
- 從「配置映像檔」頁面中,會列出已新增的登錄密鑰。 選取映像檔的登錄密鑰。
- 在 Docker Hub 中選取要參照 Code Engine 工作的映像檔名稱及名稱。 例如,選取
mynamespace並選取該名稱空間中的映像檔testjob。 - 選取 標籤的值; 例如
latest。 - 按一下完成。 您已在登錄中選取要從工作參照的映像檔。
- 修改環境變數或執行時期設定的任何預設值。 如需這些選項的相關資訊,請參閱 用於建立及執行工作的選項。
- 從「建立工作」頁面中,按一下 建立。
- 建立工作之後,即會開啟特定工作的工作頁面。 從工作頁面中,按一下 提交工作,以根據現行配置來提交工作。
若要在建立工作配置 之前 新增登錄存取權,請參閱 存取儲存器登錄。
使用 CLI 從專用登錄建立具有映像檔的工作
若要使用 CLI 從專用登錄建立具有映像檔的工作配置,請使用 job create 指令。 這個指令需要名稱和映像檔,也容許其他選用引數。 如需選項的完整清單,請參閱 ibmcloud ce job create 指令。
開始之前
- 設定 Code Engine CLI 環境。
- 建立並使用專案。
- 在您可以使用參照專用登錄中映像檔的 Code Engine 工作之前,必須先新增登錄的存取權,取回映像檔,然後建立工作配置。
-
若要從專用登錄取回映像檔,您必須先建立專用登錄。 例如,若要建立專用 Docker Hub 登錄,請參閱 Docker Hub 文件。 建立專用登錄之後,請 將映像檔推送至其中。 您也可以設定存取記號。 透過使用存取記號,您可以更輕鬆地授與及撤銷 Docker Hub 帳戶的存取權,而不需要變更密碼。 如需存取權限和 Docker Hub 的詳細資訊,請參閱 建立和管理存取權限。
-
新增對專用登錄的存取權以取回映像檔。 若要使用 CLI 新增對專用登錄的存取權,請使用
ibmcloud ce secret create --format registry指令來建立登錄密鑰。 例如,下列指令會建立名為privatedocker的 Docker Hub 登錄的登錄存取權,該登錄位於https://index.docker.io/v1/,並使用您的使用者名稱及密碼。ibmcloud ce secret create --format registry --name privatedocker --server https://index.docker.io/v1/ --username <Docker_User_Name> --password <Password>輸出範例
Creating registry secret 'privatedocker'... OK -
建立工作配置,並在專用 Docker Hub 登錄中參照映像檔。 例如,建立
mytestjob工作配置,以使用privatedocker存取資訊來參照docker.io/privaterepo/testjob。ibmcloud ce job create --name mytestjob --image docker.io/privaterepo/testjob --registry-secret privatedocker
此工作的映像檔名稱格式為 REGISTRY/NAMESPACE/REPOSITORY:TAG,其中 REGISTRY 和 TAG 是選用項目。 若未指定 REGISTRY,預設值為 docker.io。 若未指定 TAG,預設值為 latest。
下一步
-
建立工作之後,請提交工作以執行它。 請參閱 執行工作。 您可以多次執行工作。
-
既然已建立您的工作,請考慮讓工作以事件驅動。 透過使用事件訂閱,您可以透過 定期排程 來觸發工作,或設定工作以回應事件,例如 檔案上傳。
-
您可以在下列 任何 方式中 更新工作 及其參照程式碼,與您建立或先前更新工作的方式無關。
-
如果您具有容器映像檔,則根據 Open Container Initiative(OCI)標準,您只需要提供映像檔的參照,這會在您建立 (或更新) 工作時指向容器登錄的位置。 您可以從 公用登錄 或 專用登錄 中的映像檔建立 (或更新) 工作,然後從工作執行中存取參照的映像檔。
如果您已使用
job create指令建立工作,並指定--build-source選項以從本端或儲存庫來源建置容器映像檔,且您想要將工作變更為指向不同的容器映像檔,則必須先從工作中移除建置的關聯。 例如,執行ibmcloud ce job update -n JOB_NAME --build-clear。 從工作中移除建置的關聯之後,您可以更新工作以參照不同的映像檔。 -
如果您從位於 Git 儲存庫中的原始碼開始,則可以選擇讓 Code Engine 負責從來源建置映像檔,以及使用 單一 作業來建立 (或更新) 工作。 在此實務範例中,Code Engine 會將映像檔上傳至 IBM Cloud® Container Registry。 若要進一步瞭解,請參閱 從儲存庫原始碼建立工作。 如果您想要進一步控制映像檔的建置,則可以在建立 (或更新) 工作並執行工作之前,選擇使用 Code Engine 來 建置映像檔。
-
如果您是從位於本端工作站上的原始碼開始,則可以選擇讓 Code Engine 負責從來源建置映像檔,並使用 單一 CLI 指令來建立工作。 在此實務範例中,Code Engine 會將映像檔上傳至 IBM Cloud® Container Registry。 若要進一步瞭解,請參閱 使用 CLI 從本端原始碼建立工作。 如果您想要進一步控制映像檔的建置,則可以在建立 (或更新) 工作並執行工作之前,選擇使用 Code Engine 來 建置映像檔。
例如,您可以選擇讓 Code Engine 處理本端來源的建置,同時發展工作的來源開發。 然後,在映像檔成熟之後,您可以更新工作以參照您想要的特定映像檔。 您可以視需要重複此程序。
當您執行更新的工作時,除非為映像檔指定標籤,否則會使用所參照儲存器映像檔的最新版本來執行工作。 如果為映像檔指定標籤,則會使用標記映像檔來執行工作。
-
尋找更多程式碼範例? 請參閱 「IBM Cloud Code Engine」GitHub 儲存庫中的範例。