日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

提交容器生成鏡像并推送到ACR

根據業務需求,啟動ECI實例后,您可能需要在容器內部進行一些操作修改。如果您想要保留修改后的環境,可以將修改過的容器環境打包成鏡像,并推送到ACR,以便后續可以使用。本文介紹如何通過CommitContainer和DescribeCommitContainerTask接口提交容器生成鏡像并推送到ACR。

準備工作

  1. 創建ACR實例和鏡像倉庫,并獲取鏡像倉庫地址。

    關于如何創建ACR實例和鏡像倉庫,請參見以下文檔:

    創建成功后,從鏡像倉庫頁面獲取倉庫地址。本文使用私網地址。

    鏡像倉庫地址.png

  2. 創建RAM角色并授權,然后獲取角色的ARN。

    1. 創建RAM角色。

      具體操作,請參見創建可信實體為阿里云服務的RAM角色。需要注意的配置如下:

      • 選擇類型頁面,可信實體類型選擇阿里云服務

      • 配置角色頁面,角色類型選擇普通服務角色,角色名稱可以自定義輸入,受信服務選擇彈性容器實例ECI。

    2. 為RAM角色授權。

      具體操作,請參見為RAM角色授權。授權時,請選擇AliyunContainerRegistryFullAccess權限策略。

    3. 獲取角色的ARN。

      在角色詳情頁面的基本信息處可以獲取ARN。

      角色ARN.png

配置說明

調用CommitContainer接口創建異步任務,可以將ECI實例中的指定容器保存為鏡像,并推送至阿里云ACR的鏡像倉庫中。CommitContainer接口的主要參數說明如下,更多信息,請參見CommitContainer。

名稱

類型

示例值

描述

ContainerGroupId

string

eci-bp1do4xz75fa5sd****

要創建CommitContainer任務的ECI實例ID。

ContainerName

string

container-1

要制作鏡像的容器的名稱。

Image.Repository

string

registry-vpc.cn-beijing.aliyuncs.com/test/test-****

ACR鏡像倉庫地址。

出于安全考慮,目前僅支持將鏡像推送(Push)至ACR。

Image.Tag

String

1.0.1

鏡像標簽。

AcrRegistryInfo.InstanceId

string

cri-nwj395hgf6f3****

ACR企業版實例ID。

使用ACR個人版實例時無需配置該參數;使用ACR企業版實例時必須配置該參數。

AcrRegistryInfo.RegionId

string

cn-beijing

ACR企業版實例所屬的地域。

使用ACR個人版實例時無需配置該參數;使用ACR企業版實例時必須配置該參數。

Arn.RoleArn

string

acs:ram::1609982529******:role/commit-test

授權角色的ARN。配置和獲取方式請參考準備工作。

Arn.RoleType

string

service

授權類型??膳渲脼閟ervice,表示使用RAM角色進行授權。

調用CommitContainer接口成功后,會返回TaskId。您可以通過該TaskId調用DescribeCommitContainerTask接口查詢任務狀態。如果返回的TaskStatus為Succeeded,則表示已成功生成鏡像并推送到ACR。關于DescribeCommitContainerTask接口的詳細參數說明,請參見DescribeCommitContainerTask

配置示例

  1. 創建一臺ECI實例A。

  2. 連接ECI實例A,在容器內進行操作。

    此處以在容器寫入一個文件(hello.txt)作為示例。

    eci-commit

  3. 調用CommitContainer接口,將實例A中的容器環境打包成鏡像,并推送到ACR。

    采用的參數示例如下:

    RegionId=cn-beijing
    ContainerGroupId=eci-2zeh3j8kdnqvnf5n****
    ContainerName-container-1
    Image.Repository=registry-vpc.cn-beijing.aliyuncs.com/***-test/***-registry
    Image.Tag=1.0.1
    Arn,RoleArn=acs:ram::1609982529******:role/commit-test
    Arn.RoleType=service

    如果使用ACR企業版實例,需增加ACR企業版實例的訪問憑證配置信息,即AcrRegistryInfo相關參數,示例如下:

    AcrRegistryInfo.InstanceId=cri-nwj395hgf6f3****
    AcrRegistryInfo.RegionId=cn-beijing

    預期返回如下:

    {
      "TaskId": "t-2zej6nstkg744qc3****",
      "RequestId": "4ADE19FF-C487-5020-A6E4-03D5D9708834"
    }
  4. 調用DescribeCommitContainerTask接口查看任務狀態。

    采用的參數示例如下:

    RegionId=cn-beijing
    TaskId=["t-2zej6nstkg744qc3****"]

    預期返回如下,TaskStatus為Succeeded表示任務執行成功,在CommitPhaseInfos中可以看到PushCommittedImage階段成功的信息,表示鏡像已推送到指定的ACR鏡像倉庫中。

    {
      "TotalCount": 1,
      "CommitTasks": [
        {
          "TaskId": "t-2zej6nstkg744qc3****",
          "ContainerName": "container-1",
          "CommitPhaseInfos": [
            ......
            {
              "Status": "Success",
              "RecordTime": "2023-02-01T11:08:04.313047785+08:00",
              "Phase": "PushCommittedImage",
              "Message": "Push image registry-vpc.cn-beijing.aliyuncs.com/***-test/***-registry:1.0.1 successfully"
            }
          ],
          "CreationTime": "2023-02-01T11:08:00Z",
          "TaskStatus": "Succeeded",
          "FinishedTime": "2023-02-01T11:08:10Z"
        }
      ],
      "NextToken": "",
      "RequestId": "42E65299-8224-5D4A-915E-5AEC04A523FC"
    }

    此時,登錄容器鏡像服務控制臺,在目標ACR鏡像倉庫中可以看到ECI推送的新的鏡像。

    推送鏡像.png

  5. 使用新的鏡像重新創建一臺ECI實例B。

    此處使用的鏡像為CommitContainer任務推送到ACR的鏡像,示例為registry-vpc.cn-beijing.aliyuncs.com/***-test/***-registry:1.0.1

    eci-commit2

    說明

    在選擇鏡像時,如果使用ACR個人版鏡像倉庫,請選擇我的鏡像;如果使用ACR企業版鏡像倉庫,請選擇企業鏡像。

  6. 確認實例B中的容器環境與實例A的一致。

    示例中實例A的容器中增加了hello.txt文件,由于實例B采用了實例A生成的容器鏡像,因此查看實例B的容器,可看到默認已存在hello.txt文件。

    eci-commit3