前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >docker中如何使用GPU

docker中如何使用GPU

原创
作者头像
Sync
修改2024-07-04 19:08:20
2500
修改2024-07-04 19:08:20

前提条件:

1. 系统已经安装好GPU驱动,CUDA,这里使用腾讯云自动安装驱动来安装GPU驱动和CUDA

2. 已安装NVIDIA Docker 工具,对于 NVIDIA Docker 工具这里介绍两种:nvidia-container-toolkit 和 nvidia-docker2 。

nvidia-docker2 是一个较早的解决方案,它包括 nvidia-docker 插件和 nvidia-container-runtime,nvidia-docker2 通过修改 Docker 的默认运行时为 nvidia-container-runtime,自动地将 NVIDIA 驱动和库文件注入到容器中,这样容器就可以访问宿主机上的 GPU。

nvidia-container-toolkit 是一个更新的解决方案,是 nvidia-docker2 的替代品,提供了更为现代和灵活的方式来在 Docker 容器中使用 NVIDIA GPU。

nvidia-container-toolkit 包括 nvidia-container-runtime 和 nvidia-container-toolkit(替代了 nvidia-docker)。使用 nvidia-container-toolkit 时,不需要使用特殊的命令来启动容器。相反,可以直接使用标准的 docker 命令,并通过 --gpus 标志来指定 GPU 访问,例如 docker run --gpus all ...。这是因为 nvidia-container-toolkit 将 GPU 支持集成到 Docker 的原生功能中。

1. 先安装docker并启动docker

代码语言:bash
复制
apt install -y docker.io
systemctl start docker

2. 执行sudo -i 切换到root,然后粘贴下面命令配置源

代码语言:bash
复制
curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg \
  && curl -s -L https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list | \
    sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | \
    sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list

3. 配置实验性软件包,这一步跳过也可以

代码语言:bash
复制
sed -i -e '/experimental/ s/^#//g' /etc/apt/sources.list.d/nvidia-container-toolkit.list

4. 更新源

代码语言:bash
复制
apt-get update

4. 安装

代码语言:bash
复制
apt-get install -y nvidia-container-toolkit
安装过程中如弹性图片,按Tab键切换到ok,然后回车即可
安装过程中如弹性图片,按Tab键切换到ok,然后回车即可

5. 重启docker

代码语言:bash
复制
systemctl restart docker

6. 验证

代码语言:bash
复制
docker run --rm -it --gpus all ubuntu nvidia-smi

常见问题:

docker拉镜像很慢,这种是因为docker HUB仓库在国外,由于国内外存在一些跨境网络影响,这种是正常现象。

至此,完成。

可以将docker的加速地址更换为国内的,用腾讯云或者清华的都行 ,这里用腾讯云的地址:

vim /etc/docker/daemon.json 打开文件加入对应地址,然后重启docker

代码语言:bash
复制
{
   "registry-mirrors": [
   "https://mirror.ccs.tencentyun.com"
  ]
}
#或清华
{
   "registry-mirrors": [
   "https://docker.mirrors.ustc.edu.cn"
  ]
}

下面是nvidia-docker的安装,由于nvidia-docker较老,就简单整理下命令:

代码语言:bash
复制
#添加 NVIDIA Docker 的官方存储库
distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add -
curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list
apt-get update
#安装nvidia-docker2
apt-get install -y nvidia-docker2
systemctl restart docker

文档功底浅薄,大家在参考中发现问题时,请在评论区标注出来。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前提条件:
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档