从头安装与使用一个docker GPU环境

GPU版docker的安装与使用

  • 欢迎使用GPU版docker安装使用说明
    • 使用官方教程安装docker
    • 新建一个GPU版docker环境
    • 调用docker环境执行本地python文件

欢迎使用GPU版docker安装使用说明

使用官方教程安装docker

导入源仓库的GPG key

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

将 Docker APT 软件源添加到你的系统

sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"

安装命令如下:

 curl -fsSL https://test.docker.com -o test-docker.shsudo sh test-docker.sh

验证安装过程,查看安装的docker 版本,如果返回docker 版本,证明安装成功

docker -v

新建一个GPU版docker环境

在 Docker 中寻找专为深度学习和 GPU 计算准备的基础镜像,通常您会使用 Docker Hub,这是 Docker 的官方镜像仓库,包含了大量的社区和官方维护的镜像。对于深度学习和 GPU 计算,有几个关键的镜像资源您可以利用:

官方深度学习框架镜像:比如 PyTorch 和 TensorFlow 的官方镜像通常已经配置了适合深度学习的环境。在 Docker Hub 上搜索 pytorch/pytorch 或 tensorflow/tensorflow。

要查找这些镜像,您可以在 Docker Hub 的搜索栏中输入关键字,比如 “CUDA”、“PyTorch” 或 “TensorFlow”。选择镜像时,请注意镜像的标签,这些标签表示了不同版本的 CUDA 或深度学习框架。

例如,为了找到适合 PyTorch 和 CUDA 的镜像,您可以在 Docker Hub 上搜索 pytorch/pytorch,然后选择一个标签,比如 1.7.1-cuda11.0-cudnn8-runtime,这个标签意味着这个镜像包含了 PyTorch 1.7.1,CUDA 11.0 和 cuDNN 8。

一旦找到合适的镜像,您可以使用 docker pull 命令来下载它,例如:

docker pull nvidia/cuda:11.1-base

docker pull pytorch/pytorch:1.7.1-cuda11.0-cudnn8-runtime

测试 GPU 访问,要测试 Docker 是否可以访问 GPU,您可以运行一个带有 CUDA 支持的测试镜像,例如:

docker run --gpus all nvidia/cuda:10.0-base nvidia-smi

docker: Error response from daemon: could not select device driver “” with capabilities: [[gpu]].
ERRO[0000] error waiting for container: context canceled
表明 Docker 无法识别或使用 GPU。这通常是因为您的系统缺少所需的 NVIDIA 容器运行时或相应的配置不正确。以下是解决这个问题的几个步骤:
1、安装 NVIDIA Docker 插件
如果您正在使用 Docker 19.03 或更早的版本,您需要安装 nvidia-docker2。对于 Docker 19.03 及以后的版本,虽然有了原生的 GPU 支持,但您仍然需要 NVIDIA 容器工具包。

2、添加 NVIDIA 容器库:

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

3、安装 NVIDIA Docker:

sudo apt-get update
sudo apt-get install -y nvidia-docker2

4、重启 Docker 服务:

sudo systemctl restart docker

5、 验证 NVIDIA Docker 安装
运行以下命令来验证 NVIDIA Docker 是否正确安装:

docker run --rm --gpus all nvidia/cuda:11.0-base nvidia-smi

出现如下界面表明容器可成功调用本地GPU,之后就是配置容器需要的代码插件。
在这里插入图片描述

调用docker环境执行本地python文件

1、定位您的 Python 文件:

确定您要执行的 Python 文件的路径。例如,假设您的文件位于 /path/to/your/script.py。

2、选择或创建 Docker 镜像:

确保您有一个包含所需 Python 版本和依赖库的 Docker 镜像。假设您使用的是 liqiang12689/laconda:v1 镜像。

3、运行 Docker 容器并挂载文件:

使用 Docker 的 -v 参数将本地文件或目录挂载到容器中。以下命令将本地目录 /path/to/your 挂载到容器的 /app 目录,并以交互模式启动容器:

docker run -it -v /path/to/your:/app liqiang12689/laconda:v1 /bin/bash

这样,容器内的 /app 目录现在包含您的 Python 文件。

4、在容器内执行 Python 文件:

容器启动后,您将进入其命令行界面。切换到挂载的目录:

cd /app

5、然后,使用 Python 运行您的脚本:

python script.py  # 或 python3 script.py,取决于您的 Python 版本

这将执行您的本地 Python 脚本 script.py。

6、退出容器:

完成后,您可以通过输入 exit 或按 Ctrl+D 退出容器。

请记住,如果您的 Python 脚本有任何外部依赖或特定的环境需求,您需要确保这些依赖在 Docker 镜像中可用。您可能需要创建一个自定义 Docker 镜像,其中包含您的代码依赖项,或者在运行容器之前手动安装它们。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/623451.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【计算机组成原理】期末复习试卷

目录 第一套试卷 第一套答案 第二套试卷 第二套答案 第三套试卷 第四套试卷 剩余试卷下载 第一套试卷 一、选择题(共20分,每题1分) 1.冯诺伊曼机工作方式的基本特点是______。 A.多指令流单数据流; B&#…

03MARL-联合策略与期望回报

文章目录 前言一、MARL问题组成二、联合策略与期望回报1.History-based expected return2.Recursive expected return 前言 多智能体强化学习问题中的博弈论知识——联合策略与期望回报 一、MARL问题组成 二、联合策略与期望回报 定义一种普遍的期望回报,能够用于…

多线程——阻塞队列

什么是阻塞队列 相比于一般的队列,有两个特点 1.线程安全 2.带有阻塞功能 1)队伍为空时,出队列就会出现阻塞,阻塞到其他线程入队列为止 2)队伍为满时,入队列就会出现阻塞,阻塞到其他线程出队列…

九州金榜|15岁初三男孩抑郁休学摆烂打游戏,高压教育要不得!

有一次和朋友一块聚餐,邻座是一位妈妈、和她大概七八岁的儿子,小男孩长得很帅气,没有像同龄人那样调皮捣乱,而是和妈妈很温馨的就餐。 看的出来一家人的素质很高,就餐过程中桌面保持的很整洁,交流声音也不…

你和家酿啤酒的距离,只差一台爱咕噜智能啤酒机

喝过工业啤酒,喝过精酿啤酒,但是你喝过在家自酿的啤酒吗? 啤酒是世界上消耗较多的饮料之一,而我国的啤酒年消耗量位居世界第一。近年来,随着越来越多的精酿啤酒涌入市场,精酿啤酒的概念与文化被更多消费者…

揭秘小米手机被疯狂吐槽的存储扩容技术

前段时间,在小米14的发布会上,雷布斯公布了名为“Xiaomi Ultra Space存储扩容”的技术,号称可以在512G的手机中再搞出来16G,256G的手机中再搞出8G。对于普通用户来说,能多得一些存储空间,无异是个很好的福利…

PID横向控制和仿真实现

文章目录 1. PID介绍2. PID横向控制原理3. 算法和仿真实现 1. PID介绍 PID是一种常见的控制算法,全称为Proportional-Integral-Derivative,即比例-积分-微分控制器。PID控制器是一种线性控制器,它将设定值与实际值进行比较,根据误…

Python轴承故障诊断 (11)基于VMD+CNN-BiGRU-Attenion的故障分类

目录 往期精彩内容: 前言 模型整体结构 1 变分模态分解VMD的Python示例 2 轴承故障数据的预处理 2.1 导入数据 2.2 故障VMD分解可视化 2.3 故障数据的VMD分解预处理 3 基于VMD-CNN-BiGRU-Attenion的轴承故障诊断分类 3.1 定义VMD-CNN-BiGRU-Attenion分类网…

【C#】当重复使用一段代码倒计时时,使用静态类和静态方法,实现简单的this扩展方法

欢迎来到《小5讲堂》 大家好,我是全栈小5。 这是《C#》序列文章,每篇文章将以博主理解的角度展开讲解, 特别是针对知识点的概念进行叙说,大部分文章将会对这些概念进行实际例子验证,以此达到加深对知识点的理解和掌握。…

多特征变量序列预测(三)——CNN-Transformer风速预测模型

目录 往期精彩内容: 前言 1 多特征变量数据集制作与预处理 1.1 导入数据 1.2 数据集制作与预处理 2 基于Pytorch的CNN-Transformer 预测模型 2.1 定义CNN-Transformer预测模型 2.2 设置参数,训练模型 3 模型评估与可视化 3.1 结果可视化 3.2 …

高效构建Java应用:Maven入门和进阶(五)

高效构建Java应用:Maven入门和进阶(五) Maven实战案例:搭建微服务Maven工程框架5.1 项目需求和结构分析5.2项目搭建和统一构建 总结 Maven实战案例:搭建微服务Maven工程框架 5.1 项目需求和结构分析 需求案例&#xf…

SSH镜像、systemctl镜像、nginx镜像、tomcat镜像

目录 一、SSH镜像 二、systemctl镜像 三、nginx镜像 四、tomcat镜像 五、mysql镜像 一、SSH镜像 1、开启ip转发功能 vim /etc/sysctl.conf net.ipv4.ip_forward 1sysctl -psystemctl restart docker 2、 cd /opt/sshd/vim Dockerfile 3、生成镜像 4、启动容器并修改ro…

【编码魔法师系列_构建型4】原型模式(Prototype Pattern)

学会设计模式,你就可以像拥有魔法一样,在开发过程中解决一些复杂的问题。设计模式是由经验丰富的开发者们(GoF)凝聚出来的最佳实践,可以提高代码的可读性、可维护性和可重用性,从而让我们的开发效率更高。通…

10.抽象工厂模式

江湖上再也没人找林家的麻烦了。因为林平之一怒之下将辟邪剑谱公诸天下。一下子印出去几万份,江湖上人人都能轻而易举的得到这本无尚武学;然而江湖人士却陷入深深的矛盾之中: 不练,别人练了,分分钟秒杀你;练…

SV-7041T 30W网络有源音箱校园教室广播音箱,商场广播音箱,会议广播音箱,酒店广播音箱,工厂办公室广播音箱

SV-7041T 30W网络有源音箱 校园教室广播音箱,商场广播音箱,会议广播音箱,酒店广播音箱,工厂办公室广播音箱 SV-7041T是深圳锐科达电子有限公司的一款2.0声道壁挂式网络有源音箱,具有10/100M以太网接口,可将…

我为什么要写RocketMQ消息中间件实战派上下册这本书?

我与RocketMQ结识于2018年,那个时候RocketMQ还不是Apache的顶级项目,并且我还在自己的公司做过RocketMQ的技术分享,并且它的布道和推广,还是在之前的首席架构师的带领下去做的,并且之前有一个技术神经质的人&#xff0…

爬虫入门学习(二)——response对象

大家好!我是码银,代码的码,银子的银🥰 欢迎关注🥰: CSDN:码银 公众号:码银学编程 前言 在本篇文章,我们继续讨论request模块。从上一节(爬虫学习(1)--reque…

【C++】异常机制

异常 一、传统的处理错误的方式二、C异常概念三、异常的使用1. 异常的抛出和捕获(1)异常的抛出和匹配原则(2)在函数调用链中异常栈展开匹配原则 2. 异常的重新抛出3. 异常安全4. 异常规范 四、自定义异常体系五、C 标准库的异常体…

leetcode第365题:水壶问题

有两个水壶,容量分别为 jug1Capacity 和 jug2Capacity 升。水的供应是无限的。确定是否有可能使用这两个壶准确得到 targetCapacity 升。 如果可以得到 targetCapacity 升水,最后请用以上水壶中的一或两个来盛放取得的 targetCapacity 升水。 你可以&a…

【VTKExamples::PolyData】第一期 凸包计算

很高兴在雪易的CSDN遇见你 VTK技术爱好者 QQ:870202403 前言 本文分享VTKExamples中的凸包计算样例,希望对各位小伙伴有所帮助! 感谢各位小伙伴的点赞+关注,小易会继续努力分享,一起进步! 你的点赞就是我的动力(^U^)ノ~YO ​​​​​​​ 目录 前言 1. 凸包…