获取nvidia cuda docker官方镜像(2024.9)

因为我的宿主机  是ubuntu22.04,但是我现在需要用cuda11.3的编译环境,cuda11.3最高支持ubuntu20.04;所以我想在ubuntu22.04上安装一个ubuntu20.04的docker镜像,然后我要在docker里面安装nvidia cuda toolkit等等环境,这会不会有些麻烦,nvidia cuda有自己的docker 镜像,那我直接下载安装cuda镜像,岂不完美。

我确定了ubuntu的版本、cuda toolkit的版本以及cudnn的版本,但是我不知道在nvidia/cuda里面的标签是什么。通过下面的方法来确定tag名。

首先要获取nvidia镜像的列表:

https://hub.docker.com/r/nvidia/cuda/tags?page=2&name=11.3

可以直接在docker hub官网上查找,但是2024.7月以后应该就被墙了,挂vpn走境外服务器都不行。

当然也有办法获取到nvidia的镜像列表:

要详细显示 Docker Hub 上 nvidia/cuda 镜像的所有版本号,你可以使用以下几种方法来获取镜像的详细信息和可用的标签。

1. 使用 Docker CLI 列出标签

虽然 Docker CLI 本身没有直接列出所有标签的功能,你可以使用以下方法获取镜像标签:

使用 skopeo 工具(需要安装):

  • skopeo 是一个工具,可以用来查询远程镜像仓库的镜像标签。
  • 安装 skopeo:
    sudo apt-get install skopeo
  • 列出 nvidia/cuda 的所有标签:
    skopeo list-tags docker://docker.io/nvidia/cuda

2. 使用 Docker Hub API

通过 Docker Hub API,你可以查询镜像标签:

  1. 发送请求:
  2. 解析结果:
    • 这个请求将返回一个 JSON 对象,其中包含镜像的标签列表。你可以使用工具如 jq 来提取标签信息。

可以看到类似下面的nvida/cuda的标签列表。

如果你使用上面的方法不行,请尝试 /etc/docker/daemon.json文件中增加源:(下面的源不行的话,就搜一些别的源添加进去)

{
  "registry-mirrors":["https://dockerhub.xianfish.site", "https://docker.m.daocloud.io", "https://ustc-edu-cn.mirror.aliyuncs.com"]
}

修改镜像地址之后需要重新加载这个配置文件或者重启docker:

systemctl restart docker 或者service docker restart

获取到标准的nvidia/cuda 的tag名之后,就可以下载了。

比方说我现在想下载

tag:11.3.1-cudnn8-devel-ubuntu20.04

docker pull nvidia/cuda:11.3.1-cudnn8-devel-ubuntu20.0

要顺利pull,要保证你配置的源可用。

### NVIDIA CUDA Docker 镜像信息与使用 #### 查找和获取CUDA镜像 为了确保GPU应用程序能够正常运行,在构建Docker容器时通常会选择基于官方提供的`nvidia/cuda`镜像创建自定义镜像。这些基础镜像已经预先配置好必要的环境变量以及标签(例如`com.nvidia.volumes.needed`),使得它们可以直接同nvidia-docker兼容并利用主机上的GPU资源[^1]。 #### 使用方法 一旦选择了合适的CUDA版本作为父级镜像,可以通过编写Dockerfile进一步定制化开发环境。下面是一个简单的例子: ```dockerfile FROM nvidia/cuda:11.0-base # Selecting specific version of CUDA base image RUN apt-get update && \ apt-get install -y python3-pip && \ pip3 install numpy pandas scikit-learn tensorflow-gpu==2.3.* CMD ["bash"] ``` 上述脚本会拉取带有CUDA 11.0支持的基础镜像,并在其之上安装Python包管理工具pip以及其他依赖项如NumPy, Pandas等科学计算库还有TensorFlow GPU版。最后设置默认启动命令为进入交互式的shell模式。 #### 运行含有GPU加速功能的应用程序 要让应用能访问到宿主机中的显卡硬件,则需通过特定参数调用`docker run`指令。比如: ```bash docker run --gpus all -it my_custom_cuda_image bash ``` 这里的关键在于加入了`--gpus all`选项,它告诉Docker引擎允许容器内的进程访问所有的物理GPU设备;而如果不加此标记,默认情况下容器是没有权限操作任何图形处理单元的。 #### 安装NVIDIA-Docker插件 对于想要启用这种特性的系统来说,除了常规的Docker服务外还需要额外部署由NVIDIA公司维护的支持组件——即nvidia-docker及其关联的服务端口。具体的安装流程取决于操作系统类型,但对于大多数Linux发行版而言一般遵循如下步骤[^3]: 1. 添加软件源仓库地址; 2. 导入GPG密钥以验证下载的安全性; 3. 更新本地APT缓存索引; 4. 执行apt-get install完成最终的产品落地; 5. 重启Docker守护线程使更改生效。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

corey_li

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值