在應用迭代過程中,因為解決bug或者增加功能特性而制作新的鏡像后,您可能需要修改鏡像,同時為了不影響業務,需要保持ECI實例的IP不變。本文介紹如何修改ECI實例的容器鏡像,同時保持實例IP不變。
前提條件
已準備好要更新的鏡像,且已將鏡像上傳到鏡像倉庫中。
操作步驟
下文以部署Nginx的ECI實例為例,介紹如何更新容器鏡像,將容器鏡像從nginx:1.14.2
修改為nginx:1.15.10
,并保持ECI實例的IP不變。
說明
以下操作步驟以OpenAPI為例進行介紹,如果您使用控制臺進行操作,可在容器組頁面找到目標ECI實例,單擊對應操作列中的修改,即可在彈出頁面配置新的容器鏡像。
創建ECI實例。
調用CreateContainerGroup接口創建一臺ECI實例,采用的參數示例如下,更多信息,請參見CreateContainerGroup。
ContainerGroupName=test Container.1.Name=nginx Container.1.Image=registry-vpc.cn-hangzhou.aliyuncs.com/eci_open/nginx:1.14.2
接口調用成功將返回ECI實例ID。
查詢ECI實例信息。
根據創建完成返回的ECI實例ID,調用DescribeContainerGroups接口查詢實例信息。更多信息,請參見DescribeContainerGroups。
返回示例如下,當實例狀態為Running時,表示實例創建成功,此時可以獲取到ECI實例的IP(IntranetIp)。
{ "TotalCount": 1, "NextToken": "", "RequestId": "869A3D4B-EDC7-5716-BF53-2396028FAC5A", "ContainerGroups": [ { "Cpu": 2, "Memory": 4, "Containers": [ { ...... "Image": "registry-vpc.cn-hangzhou.aliyuncs.com/eci_open/nginx:1.14.2", ...... } ], "IntranetIp": "172.16.52.122", ...... "ContainerGroupId": "eci-bp1cug0yp63qnuag****", "RegionId": "cn-hangzhou" } ] }
更新容器鏡像。
調用UpdateContainerGroup即可更新實例,采用的參數示例如下,更多信息,請參見UpdateContainerGroup。
ContainerGroupId=eci-bp1cug0yp63qnuag**** Container.1.Image=registry-vpc.cn-hangzhou.aliyuncs.com/eci_open/nginx:1.15.10
再次查詢ECI實例信息。
根據更新完成返回的ECI實例ID,調用DescribeContainerGroups接口查詢實例信息。
返回示例如下,當實例狀態為Running時,表示實例更新成功,此時,可以看到容器鏡像已更新,且實例IP保持不變。
{ "TotalCount": 1, "NextToken": "", "RequestId": "0FB8256B-EEB4-511C-98B8-B442163B7352", "ContainerGroups": [ { "Cpu": 2, "Memory": 4, "Containers": [ { ...... "Image": "registry-vpc.cn-hangzhou.aliyuncs.com/eci_open/nginx:1.15.10", ...... } ], "IntranetIp": "172.16.52.122", ...... "ContainerGroupId": "eci-bp1cug0yp63qnuag****", "RegionId": "cn-hangzhou" } ] }
文檔內容是否對您有幫助?