在开发环境中调试容器镜像

介绍

开发环境中不支持运行 Docker,本文档提供替代方法,使得可以:

  1. 运行容器镜像

  2. 在容器镜像中安装软件,包括使用 apt、yum、pip 进行安装

  3. 重新打包镜像

  4. 使用 Dockerfile 打包镜像

  5. 推送镜像到镜像仓库

用到的工具

资源仓库 镜像 Hub 中适用开发环境的镜像已经内置上述工具。

使用 Dockerfile 打包镜像

  1. 登录镜像仓库:

    container-utils login
    
  2. 编写 Dockerfile

  3. 使用 container-utils 读取 Dockerfile 打包镜像。<project> 为当前项目名:

    container-utils build <project>/<image name>:<image tag> ./Dockerfile .
    

从镜像仓库拉取镜像

  1. 登录镜像仓库:

    container-utils login
    
  2. 使用 container-utils 把镜像从仓库拷贝到本地目录:

    container-utils pull public/tfserving-demo:2.3.0
    

运行、修改容器并重新打包

  1. 如果需要在容器中使用 GPU,需要使用以下命令运行容器。:

    container-utils run-gpu public/tfserving-demo:2.3.0
    
  2. 如果使用 MLU 或者不使用任何加速卡,使用 container-utils.sh 运行容器。:

    container-utils run public/tfserving-demo:2.3.0
    
  3. 可以在容器中调用 MLU 或者 GPU 资源运行推理应用、安装软件。下面是运行推理应用和安装软件的范例:

    apt update
    apt install -y curl
    tf_serving_entrypoint.sh &
    curl -d '{"instances": [1.0, 2.0, 5.0]}' -X POST http://127.0.0.1:8501/v1/models/half_plus_two:predict
    
  4. 修改完容器后退出:

    exit 或者 Ctrl-D
    
  5. 重新打包镜像:

    container-utils commit public/tfserving-demo:2.3.0
    

推送到镜像仓库

  1. 推送到镜像仓库, <project> 为当前项目名,<project> 可以在镜像管理->我的镜像中找到:

    container-utils push public/tfserving-demo:2.3.0 <project>/tfserving-demo:2.3.1