全部產品
Search
文件中心

Elastic Compute Service:鏡像構建服務(ImageBuilder)最佳實務

更新時間:Jun 19, 2024

鏡像構建服務是阿里雲提供的一站式鏡像定製、構建、維護、驗證、共用、分發服務。本教程通過鏡像構建服務構建Nginx開發環境的自訂鏡像,並通過該自訂鏡像建立ECS執行個體測試Nginx環境是否正常訪問。

背景資訊

本教程中樣本的資源配置說明如下所示。

  • 當前地區:華北2(北京)

  • 分發地區:華東1(杭州)

  • 公用鏡像:Alibaba Cloud Linux 3

  • 鏡像模板構建內容:Nginx開發環境

通過以上資源配置在華北2(北京)地區構建自訂鏡像test-image並分發至華東1(杭州)地區,在華東1(杭州)地區使用自訂鏡像test-image建立Nginx開發環境的ECS執行個體,然後在本地測試是否可以正常訪問Nginx環境。如果可以訪問,表示鏡像構建服務構建的自訂鏡像正常。

步驟一:建立並執行鏡像模板

  1. 登入ECS管理主控台

  2. 在左側導覽列,選擇部署與彈性 > icon1 > 鏡像構建

  3. 在頂部功能表列處,選擇地區。

  4. 鏡像構建頁面,單擊建立鏡像模板

    如果您是第一次訪問鏡像構建服務,在鏡像構建歡迎頁面,單擊建立鏡像模板

  5. 配置鏡像模板,完成後單擊確定

    本教程中,主要說明配置源鏡像的樣本配置。關於鏡像模板的其他具體操作說明,請參見建立鏡像模板並執行構建任務

    • 基本資料:設定構建模板名稱描述標籤

    • 配置源鏡像:單擊通過Dockerfile匯入模板,匯入以下模板內容並單擊確定

      本教程中,樣本模板內容如下所示。

      FROM IMAGE:aliyun_3_9_x64_20G_alibase_20231219.vhd
      LABEL author="admin" date="2024-01-15" platform="aliyun"
      RUN yum update -y
      RUN rpm --rebuilddb && yum install -y autoconf automake make wget net-tools zlib zlib-devel make gcc openssl-devel pcre pcre-devel tar
      RUN mkdir nginx_copy
      COPY http://nginx.org/download/nginx-1.17.1.tar.gz nginx_copy
      WORKDIR /root/nginx_copy
      USER root
      RUN tar -zxvf nginx-1.17.1.tar.gz
      ENV nginxversion nginx-1.17.1
      WORKDIR /root/nginx_copy/$nginxversion
      RUN ./configure --prefix=/usr/local/nginx && make && make install
      WORKDIR /usr/local/nginx
      ENTRYPOINT ["sbin/nginx","-c"]
      CMD conf/nginx.conf

      鏡像構建模板將自動完成配置。

    • 配置中轉執行個體:根據您對構建鏡像的需要,設定中轉執行個體的規格、儲存大小、公網頻寬等資源。

      重要

      公網頻寬預設值為0,即不具備公網訪問能力。當您的鏡像構建內容中存在需要訪問公網的命令(例如下載命令)時,您必須設定一定值的公網頻寬,否則將導致鏡像構建任務失敗。

      本教程中需要公網訪問能力下載依賴,所以必須設定公網頻寬/Mbps為非0值。

    • 配置鏡像分發:根據您的業務需求,可以將構建的鏡像分發至指定地區或共用至指定阿里雲帳號。

      本教程中樣本配置如下所示。

      • 目標鏡像名稱:目標鏡像名稱首碼,最終產生的鏡像名稱會自動拼接執行任務返回的構建任務ID。本樣本中名稱首碼設定為test-image

      • 當前地區預設分發 華北2(北京)

      • 目標地區:華東1(杭州)。

      • 共用UID:指定共用的阿里雲帳號。

      • 建立後立即執行:選擇

  6. 鏡像模板頁簽,找到已建立的鏡像模板,在操作列單擊執行

    您可以單擊鏡像模板ID,在鏡像模板詳情頁面的構建歷史頁簽查看任務執行過程。構建任務的狀態為成功時,表示構建鏡像任務執行成功,同時會產生對應的鏡像ID。

    說明

    如果狀態異常,您可以查看執行結果的詳細資料,定位並排查問題。

步驟二:查看構建成功的鏡像

  1. 鏡像模板詳情頁面的構建歷史頁簽,單擊鏡像ID進入自訂鏡像的詳情頁。

  2. 單擊共用資訊頁簽,查看已共用的阿里雲帳號。

  3. 查看鏡像分發的情況。

    1. 在左側導覽列,單擊執行個體與鏡像 > 鏡像

    2. 在頂部功能表列處,選擇鏡像分發的地區。

      本樣本中選擇華東1(杭州)

    3. 自訂鏡像頁簽的鏡像列表中,查看分發的鏡像。

      說明

      本樣本中通過目標鏡像名稱首碼test-image進行搜尋。分發的鏡像名稱由自訂名稱首碼_構建任務ID構成,因此您也可以通過構建任務ID進行搜尋。

步驟三:建立執行個體並測試Nginx環境

  1. 在左側導覽列,選擇部署與彈性 > icon1 > 鏡像構建

  2. 在頂部功能表列處,選擇鏡像模板所在的地區。

    本樣本中鏡像構建的地區為華北2(北京)

  3. 鏡像模板頁簽,找到已建立的鏡像模板,單擊模板ID進入鏡像模板詳情頁面。

  4. 構建歷史頁簽,單擊鏡像ID進入自訂鏡像的詳情頁。

  5. 在鏡像詳情頁面右上方單擊建立執行個體,然後完成執行個體的建立。

    請根據您的業務需求建立ECS執行個體,建立時請注意以下配置項,具體操作,請參見使用自訂鏡像建立執行個體

    • 需要分配公網IPv4地址。

    • 安全性群組入方向規則需要開放80連接埠。

  6. 擷取執行個體的公網IP。

    1. 執行個體建立完成後,返回執行個體列表頁面。

    2. 找到已建立的ECS執行個體,在IP地址列,複製公網IP地址。

  7. 在本地環境開啟瀏覽器,然後在地址欄輸入ECS執行個體的公網IP進行訪問。

    查看到如下圖所示的頁面,表示Nginx開發環境正常。Nginx