從專用登錄中的映像檔建立工作

建立您的工作,並在該工作中使用私人註冊表(例如私人 Docker Hub)中的影像。 您可以透過控制台或使用 CLI 建立工作。

開始之前

  • 若要從專用登錄取回映像檔,您必須先建立專用登錄。 例如,若要建立專用 Docker Hub 登錄,請參閱 Docker Hub 文件
  • 建立專用登錄之後,請 將映像檔推送至其中
  • 您也可以設定存取記號。 透過使用存取記號,您可以更輕鬆地授與及撤銷 Docker Hub 帳戶的存取權,而不需要變更密碼。 如需存取權限和 Docker Hub 的詳細資訊,請參閱 建立和管理存取權限

使用主控台建立參照專用登錄中映像檔的工作

使用 Code Engine 控制台,建立一個使用私有註冊表中映像的作業配置。

在您可以使用參照專用登錄中映像檔的 Code Engine 工作之前,您必須先新增登錄的存取權,以便 Code Engine 可以在工作執行時取回映像檔。

  1. 開啟 Code Engine 主控台。
  2. 選擇「開始建立」。
  3. 請從「可用專案」清單中選取一個專案。 您也可以 建立新的。 請注意,您必須具有選取的專案才能建立工作。
  4. 選擇工作
  5. 輸入工作名稱;例如:myjob
  6. 選取「使用現有容器映像」,然後按一下「設定映像」。
  7. 針對 登錄伺服器,輸入 docker.io
  8. 針對 登錄密碼,選取 建立登錄密碼
  9. 從「建立登錄密鑰」頁面中,選擇您的登錄來源。 例如,Docker Hub
  10. 從「建立登錄密碼」頁面中,輸入使用者名稱。 對於 Docker Hub,它是您的 Docker ID。
  11. 在「建立登錄密鑰」頁面上,輸入存取憑證。 若為 Docker Hub,您可以使用 Docker Hub 密碼或存取記號。 如需存取權限和 Docker Hub 的詳細資訊,請參閱 建立和管理存取權限
  12. 按一下 建立,以新增 Code Engine的登錄密鑰。
  13. 從「配置映像檔」頁面中,會列出已新增的登錄密鑰。 選取映像檔的登錄密鑰。
  14. 在 Docker Hub 中選取要參照 Code Engine 工作的映像檔名稱及名稱。 例如,選取 mynamespace 並選取該名稱空間中的映像檔 testjob
  15. 選取 標籤的值; 例如 latest
  16. 按一下完成。 您已在登錄中選取要從工作參照的映像檔。
  17. 修改環境變數或執行時期設定的任何預設值。 如需這些選項的相關資訊,請參閱 用於建立及執行工作的選項
  18. 從「建立工作」頁面中,按一下 建立
  19. 建立工作之後,即會開啟特定工作的工作頁面。 從工作頁面中,按一下 提交工作,以根據現行配置來提交工作。

若要在建立工作配置 之前 新增登錄存取權,請參閱 存取儲存器登錄

使用 CLI 從專用登錄建立具有映像檔的工作

若要使用 CLI 從專用登錄建立具有映像檔的工作配置,請使用 job create 指令。 這個指令需要名稱和映像檔,也容許其他選用引數。 如需選項的完整清單,請參閱 ibmcloud ce job create 指令。

開始之前

  • 設定 Code Engine CLI 環境。
  • 建立並使用專案
  • 在您可以使用參照專用登錄中映像檔的 Code Engine 工作之前,必須先新增登錄的存取權,取回映像檔,然後建立工作配置。
  1. 若要從專用登錄取回映像檔,您必須先建立專用登錄。 例如,若要建立專用 Docker Hub 登錄,請參閱 Docker Hub 文件。 建立專用登錄之後,請 將映像檔推送至其中。 您也可以設定存取記號。 透過使用存取記號,您可以更輕鬆地授與及撤銷 Docker Hub 帳戶的存取權,而不需要變更密碼。 如需存取權限和 Docker Hub 的詳細資訊,請參閱 建立和管理存取權限

  2. 新增對專用登錄的存取權以取回映像檔。 若要使用 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
    
  3. 建立工作配置,並在專用 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,其中 REGISTRYTAG 是選用項目。 若未指定 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 儲存庫中的範例