全部產品
Search
文件中心

Alibaba Cloud Linux:在ECS上如何使用AC2鏡像

更新時間:Oct 22, 2025

Alibaba Cloud AI Containers(簡稱AC2)提供了一系列的AI容器鏡像,與阿里雲基礎設施(ECS、ACK等)深度整合最佳化,極大地節省了AI應用環境部署的成本。本文介紹了在ECS上如何正確配置執行個體運行環境,並運行AC2容器進行PyTorch訓練。

選購併串連ECS執行個體

在ECS上使用AC2,需要首先選購一台ECS執行個體,並串連。更多資訊,請參見通過控制台使用ECS執行個體(快捷版)

在選購執行個體時,阿里雲提供了豐富的鏡像資源,推薦使用「Alibaba Cloud Linux 3.2104 LTS 64位」鏡像,擁有最完整的服務保障。

設定ECS執行個體

安裝Docker

使用AC2需要首先設定Docker運行環境。Docker的安裝視不同的作業系統步驟略有不同,具體操作,參見安裝並使用Docker和Docker Compose。下面以Alibaba Cloud Linux 3為例,設定Docker運行環境。

  1. 使用以下命令添加docker-ce軟體源,並安裝軟體源相容外掛程式。

    sudo dnf config-manager --add-repo=https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
    sudo dnf install -y --repo alinux3-plus dnf-plugin-releasever-adapter
  2. 使用以下命令安裝Docker-CE。

    sudo dnf install -y docker-ce
  3. 安裝完畢後,通過以下命令查看Docker版本號碼,檢查是否安裝成功。

    docker -v
  4. 執行以下命令,啟動Docker服務,並設定開機自啟動。

    sudo systemctl start docker  # 啟動Docker服務
    sudo systemctl enable docker # 設定Docker服務開機自啟
  5. 使用以下命令檢查Docker服務運行情況。

    systemctl status docker

    命令回顯如下圖所示,表示Docker已正常啟動。

    docker-started-systemctl-status.png

安裝NVIDIA Container Toolkit(GPU執行個體)

對於GPU執行個體,需要安裝NVIDIA Container Toolkit來支援GPU容器,Alibaba Cloud Linux 3中已經提供了對NVIDIA Container Toolkit的支援,可以通過以下命令設定GPU執行個體。

  1. 添加 NVIDIA CUDA 源並使能安裝驅動。驅動版本可以通過使能不同模組流來切換,例如指定版本 570-open 或者使用最新版本 open-dkms。所有可用的版本可以通過dnf module list nvidia-driver查看。不同執行個體推薦的驅動版本參見:建立GPU執行個體時自動安裝或載入Tesla驅動

    sudo dnf config-manager --add-repo=https://developer.download.nvidia.com/compute/cuda/repos/rhel8/x86_64/cuda-rhel8.repo
    sudo dnf module enable nvidia-driver:570-open
    sudo dnf install nvidia-driver-cuda kmod-nvidia-open-dkms
    如需卸載/切換驅動版本,使用以下命令移除已安裝的驅動並重設模組配置。
    dnf module remove --all nvidia-driver
    dnf module reset nvidia-driver
  2. 使用以下命令安裝NVIDIA Container Toolkit。

    sudo dnf install -y nvidia-container-toolkit
  3. 重啟Docker守護進程,添加GPU暴露能力。

    sudo systemctl restart docker

    重啟服務後,Docker就具備了GPU透傳能力,後續建立容器時,需要添加--gpus <gpu-request>參數,指定需要透傳的GPU。

ECS執行個體設定成功後,便可以拉取AC2鏡像進行後續開發部署工作。更多資訊,請參見Alibaba Cloud AI Containers鏡像列表

使用AC2訓練

AC2中提供了多種訓練架構的鏡像,鏡像中整合了不同的AI運行架構,包括PyTorch、TensorFlow等,同時按照不同的運行平台,內建了經過驗證的NVIDIA驅動、CUDA等運行驅動以及加速庫。為開發人員節省了大量的環境部署時間。

PyTorch 架構鏡像

運行PyTorch CPU鏡像訓練模型

  1. 運行CPU的容器鏡像。

    <ac2-pytorch-cpu-image>需替換為PyTorch CPU鏡像地址。

    sudo docker run -it --rm <ac2-pytorch-cpu-image>
  2. 下載範例程式碼。

    git clone https://github.com/pytorch/examples.git
  3. 下載PyTorch範例程式碼,並使用--no-cuda參數指定在CPU上進行訓練。

    python3 examples/mnist/main.py --no-cuda

運行PyTorch GPU鏡像訓練模型

  1. 運行GPU的容器鏡像,使用--gpus all參數允許容器使用所有GPU。

    <ac2-pytorch-gpu-image>為PyTorch GPU鏡像地址,請根據實際情況進行替換。

    sudo docker run -it --rm --gpus all <ac2-pytorch-gpu-image>
  2. 下載範例程式碼。

    git clone https://github.com/pytorch/examples.git
  3. 下載PyTorch範例程式碼,預設使用GPU進行訓練。

    python3 examples/mnist/main.py

清理運行環境

完成訓練任務後,可以通過以下流程清理當前啟動並執行容器環境。

  1. 執行以下命令,查看系統中所有已經建立的容器。

    sudo docker ps -a

    容器ID(CONTAINER ID)、鏡像(IMAGE)、狀態(STATUS)、容器名(NAMES)等資訊如下圖所示。

    docker-ps-output.png

  2. 如需移除容器,執行以下命令。移除前請確保容器已經停止。

    <CONTAINER ID>需替換為要移除的容器ID。

    sudo docker stop <CONTAINER ID> # 停止容器
    sudo docker rm <CONTAINER ID>   # 移除容器
  3. 執行以下命令,列出已下載的鏡像。

    sudo docker images

    鏡像倉庫(REPOSITORY)、鏡像標籤(TAG)、鏡像ID(IMAGE ID)等資訊如下圖所示。

    docker-images-output.png

  4. 執行以下命令,刪除指定的鏡像檔案。

    <IMAGE ID>需替換為要刪除的鏡像ID。

    sudo docker rmi <IMAGE ID>