docker拉取镜像时报错ERROR: failed to do request: Head https://registry-1.docker.io/v2/pytorch/pytorch/manif

本文介绍了解决Docker在执行Dockerfile或拉取镜像时遇到的网络问题的方法。通过配置加速器,如使用网易提供的镜像地址,可以显著提高在国内环境下Docker镜像的拉取速度。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题复现

docker 执行docker file文件时报错:

ERROR: failed to do request: Head https://registry-1.docker.io/v2/pytorch/pytorch/manifests/1.6.0-cuda10.1-cudnn7-devel: dial tcp: lookup registry-1.docker.io on 192.168.65.5:53: no such host

 > [internal] load metadata for docker.io/pytorch/pytorch:1.6.0-cuda10.1-cudnn7-devel:

failed to solve with frontend dockerfile.v0: failed to create LLB definition: failed to do request: Head https://registry-1.docker.io/v2/pytorch/pytorch/manifests/1.6.0-cuda10.1-cudnn7-devel: dial tcp: lookup registry-1.docker.io on 192.168.65.5:53: no such host

或者,docker拉取镜像时报错:

Error response from daemon: Head https://registry-1.docker.io/v2/nvidia/cuda/manifests/10.1-cudnn7-devel-ubuntu16.04: Get https://auth.docker.io/token?account=yang929604665&scope=repository%3Anvidia%2Fcuda%3Apull&service=registry.docker.io: EOF

原因:

鉴于国内网络问题,后续拉取 Docker 镜像十分缓慢,需要配置加速器来解决,可以使用的是网易的镜像地址:http://hub-mirror.c.163.com。

解决办法:

C:\Users\用户名\.docker

路径的
daemon.json文件中,修改为

{
  "registry-mirrors": [
    "http://hub-mirror.c.163.com",
    "https://docker.mirrors.ustc.edu.cn/"
  ],
  "insecure-registries": [],
  "debug": false,
  "experimental": false,
  "features": {
    "buildkit": true
  }
}

最后重启docker即可。

### 下载并使用 PyTorchDocker 镜像 要下载并使用 NVIDIA 提供的 GPU 支持的 PyTorch Docker 镜像,可以遵循以下方法: #### 1. 确保 Docker 已正确安装 在开始之前,请确认系统上已安装 Docker。如果没有安装,请访问 Docker 官方网站下载并安装适合操作系统的版本[^1]。 运行以下命令验证 Docker 是否安装成功: ```bash docker --version ``` 如果返回 Docker 版本号,则表明安装成功。 --- #### 2. 官方支持 GPU 的 PyTorch 镜像 NVIDIA 提供了一个专门用于深度学习的镜像仓库 `nvidia/pytorch`,该镜像内置了 CUDA 和 cuDNN 支持,可以直接最新版本的 PyTorch 镜像: ```bash docker pull nvcr.io/nvidia/pytorch:latest ``` 此命令会从 NVIDIA Container Registry 中获最新的 PyTorch 镜像[^4]。 如果你需要特定版本的 PyTorch 或者指定 CUDA 版本,可以通过标签选择合适的镜像。例如,带有 CUDA 11.3 的 PyTorch 1.9.0 镜像: ```bash docker pull nvcr.io/nvidia/pytorch:21.07-py3 ``` --- #### 3. 启动容器并与主机共享 GPU 资源 为了使容器内的应用程序能够利用本地 GPU,需通过 `--gpus all` 参数启动容器。以下是启动交互式 Bash 终端的示例命令: ```bash docker run --rm -it --gpus all nvcr.io/nvidia/pytorch:latest /bin/bash ``` 在此模式下,用户可以在容器内部执行 Python 命令或测试 PyTorch 功能。 --- #### 4. 测试 PyTorch 对 GPU 的支持 进入容器后,可通过以下代码片段验证 PyTorch 是否正常识别 GPU: ```python import torch print(torch.cuda.is_available()) # 应返回 True 表明 GPU 可用 print(torch.__version__) # 打印当前 PyTorch 版本 ``` 如果一切配置无误,上述脚本应显示 GPU 是可用状态,并打印出对应的 PyTorch 版本信息。 --- #### 5. 自定义环境(可选) 如果需要额外安装库或其他依赖项,可以基于现有镜像创建新的自定义镜像。例如,先修改基础环境后再提交更改作为新镜像存储: ```bash docker commit <container_id> my_custom_pytorch_image ``` 随后即可使用新建的镜像继续开发工作流[^3]。 --- ### 注意事项 - **驱动兼容性**:确保宿主机上的 NVIDIA 显卡驱动满足目标 CUDA 版本的要求。 - **资源隔离**:默认情况下,Docker 不会对 GPU 使用量做任何限制;生产环境中可能需要进一步调整设置以优化性能表现。 ---
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值