You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何基于现有Docker镜像创建含额外Python包的新镜像并在组织内分发

基于NVIDIA NGC PyTorch镜像构建自定义镜像的方法

推荐使用Dockerfile方式构建,可复现性强,便于后续迭代调整依赖:

  • 新建空白目录,在目录内创建名为Dockerfile的文件,写入以下内容:
FROM nvcr.io/nvidia/pytorch:21.07-py3
# 安装额外Python依赖,--no-cache-dir参数可减小镜像体积
RUN pip install --no-cache-dir omegaconf wandb pycocotools

提示:如果国内pip安装速度慢,可在上述pip命令末尾添加-i https://pypi.tuna.tsinghua.edu.cn/simple指定国内源加速。

  • 在Dockerfile所在目录执行构建命令,自定义镜像标签方便识别:
    docker build -t my-org-pytorch:21.07-py3-ext .

如果仅需要临时测试,也可以使用容器commit方式构建(不推荐生产场景使用,可复现性差):

  • 启动原镜像的临时容器:docker run -it --gpus all nvcr.io/nvidia/pytorch:21.07-py3 bash
  • 容器内执行pip install omegaconf wandb pycocotools,安装完成后输入exit退出容器
  • 执行docker ps -a找到刚刚退出的容器ID,执行命令完成镜像构建:docker commit <替换为实际容器ID> my-org-pytorch:21.07-py3-ext

组织内部分发自定义镜像的常用方式
  • 私有镜像仓库分发(最推荐):组织内部搭建私有镜像托管服务(如Docker Registry、Harbor、GitLab Container Registry等),先给本地镜像打对应仓库的标签:docker tag my-org-pytorch:21.07-py3-ext <私有仓库地址>/<项目路径>/my-org-pytorch:21.07-py3-ext,执行docker push <完整镜像标签>上传到仓库,其他成员直接执行docker pull <完整镜像标签>即可获取。
  • 镜像导出导入分发:适合网络隔离、无法访问私有仓库的场景,执行docker save -o my-org-pytorch-21.07-ext.tar my-org-pytorch:21.07-py3-ext将镜像导出为tar包,通过内网文件共享、移动存储等方式传输,其他成员拿到后执行docker load -i my-org-pytorch-21.07-ext.tar即可导入本地镜像。
  • Dockerfile共享分发:如果组织内所有成员都可访问NVIDIA NGC镜像源,直接共享Dockerfile即可,其他成员执行相同的build命令就能生成完全一致的镜像,传输成本最低,也方便后续调整依赖。

内容的提问来源于stack exchange,提问作者user550701

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 10:57:03