问题标签 [nvidia-docker]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
4098 浏览

docker - 使用 cuda 运行时构建 docker 映像

我正在构建一个同时需要测试 GPU 可用性的图像。GPU 容器运行良好:

但在使用 GPU 构建时失败:

我是 docker 新手,但我认为我们在构建映像时需要进行健全性检查。那么如何使用 cuda 运行时构建 docker 映像呢?

0 投票
0 回答
497 浏览

nvidia - Nvidia vGPU 软件是否支持 Docker 容器?

您好 Stackoverflow 专家!

我在私有集群上有 Telsa K40m,我的目标是检查通过将 GPU 划分为多个 vGPU,然后与 Docker 容器同时运行它们可以获得多少性能。

我担心的是我不确定 vGPU 是支持 Docker 容器还是仅限于虚拟机。有人可以帮我回答这个问题吗?

谢谢!

0 投票
1 回答
136 浏览

linux - 重新启动现有 docker 容器时如何指向初始运行时

我想在退出并重新启动后重新启动一个 docker 容器,并使用最初创建它的相同运行时。

这是我到目前为止所做的。

创建容器:

退出容器并重启后重启 Docker:

重启之前创建的容器:

重新打开容器。

然后在容器中启动的程序没有按预期使用 Nvidia GPU。它改为使用系统 CPU。

任何帮助将不胜感激。

0 投票
1 回答
494 浏览

tensorflow - Tensorflow 需要很长时间才能连接到 Nvidia-Drivers

我已经在我的远程服务器上安装了我的 Nvidia 驱动程序,并且

$nvidia-smi还返回设备列表

但是当我尝试使用时。

提供设备列表需要很长时间

当我尝试检查信息以使用 nvidia-docker

它给出以下输出:

0 投票
1 回答
1717 浏览

docker - 在 compose 文件中配置了 GPU 的 Docker 服务;Keras 无法识别 GPU

我在 v3.5 docker compose 文件中配置了一个多服务应用程序。

其中一项服务是访问集群中(一个)节点上的(一个)GPU。但是,如果我使用 docker compose 文件启动服务,我似乎无法访问 GPU,正如 keras 报告的那样:

印刷

如果我像这样从命令行运行相同的图像:

docker run -it --rm $(ls /dev/nvidia* | xargs -I{} echo '--device={}') $(ls /usr/lib/*-linux-gnu/{libcuda,libnvidia}* | xargs -I{} echo '-v {}:{}:ro') -v $(pwd):/srv --entrypoint /bin/bash ${MY_IMG}

输出是

配置:

我已经安装了 nvidia-docker 并根据本指南配置了节点:

docker compose 文件的相关部分:

问题: 还需要什么才能访问该 docker 服务中的 GPU?

0 投票
1 回答
3245 浏览

docker - nvidia-docker:未知的运行时指定 nvidia

我已经查找了对此没有帮助的较旧答案(#1#2

runtime: nvidia尝试使用具有标志的容器启动 docker-compose 项目时出现此错误。

按照最新的说明,我为 Ubuntu 的存储库安装了 docker(版本 19.03)和最新的 nvidia-docker 。我没有在任何地方注册运行时,因为文档明确指出现在没有必要

运行单个容器可以工作,例如,docker run --gpus all nvidia/cuda:10.0-base nvidia-smi这工作得很好 - 但是当我尝试启动 docker-compose 项目时,它失败并出现以下错误

错误:对于 MY_SERVICE 无法为服务 MY_SERVICE 创建容器:指定了未知的运行时 nvidia

我不知道这是否与此有关,但我在 GCP Compute Engine、Ubuntu 18.04 上运行

0 投票
1 回答
906 浏览

docker - Docker run vs build - build gstreamer 不同的行为

我正在尝试在 gstreamer 中构建一个使用 nvidia 硬件解码的 docker 映像,并且在制作映像时遇到了一个奇怪的问题。

docker build构建过程在运行(或)时找不到与 nvidia cuda 相关的东西nvidia-docker build,但是当我将失败的图像作为容器启动并从容器内执行相同的步骤时,一切正常。我什至将容器保存为图像,这给了我一个按预期工作的持久图像。

有没有人遇到过类似的问题,可以解释一下吗?

测试: 构建并运行容器。容器内部:

EDIT1
图像构建没有错误,只有当我尝试调用 gstreamer 时,它才会在没有加速的情况下构建。我注意到在构建过程中的主要区别是

从容器内构建时不会发生这种情况。

缺少错误很可能与 ninja+meson 构建系统有关,该构建系统查找兼容的包,报告异常,但不抛出异常并继续,就好像没有发生任何错误一样

EDIT2
回答评论:要构建它并得到错误,只需构建附加的 docker 图像:

sudo docker build -t gst16:latest . > build.log

这会将所有输出转储到build.log文件中。
我没有可以用于此目的的 docker 注册表,并且 docker 镜像按照 docker 标准(约 8 Gigs)变得相当大,但要成功生成,它相当简单:

sudo docker run --runtime="nvidia" -ti gst16:latest /bin/bash

或者

sudo nvidia-docker run -ti gst16:latest /bin/bash

这对我来说似乎同样有效。注意没有 --rm标志!从容器内:

现在要获取图像,退出容器(ctrl+d)并在主机 shell 中:

  • sudo docker container ls -a查看所有容器,包括停止的容器
  • 从 gst16:latest 获取 CONTAINER_ID 并复制它
  • sudo docker commit <CONTAINER_ID> gst16:manual几秒钟后,您应该将容器保存为图像。验证sudo docker images
  • 运行新图像sudo docker run --runtime=`nvidia` --rm -ti gst16:manual /bin/bash
  • 从容器内再次尝试gst-inspect-1.0 nvdec验证它是否正常工作

编辑3

0 投票
2 回答
6803 浏览

docker - windows 10系统安装nvidia-docker的问题

我刚开始学习 docker,所以这个问题对你们中的一些人来说可能是微不足道的。我在我的 Windows 10 Enterprise(64 位)中安装了最新版本的 docker 19.03.2 并打开了 Linux 容器。我的指南建议我将 docker 用于我的深度学习项目(基于 PyTorch 框架)。我读了几篇关于为什么使用 docker 让生活变得轻松的文章,我可以遵循其中的大部分内容。对我来说,使用 docker 的主要原因是由于 GPU 资源不可用。所以我在我的windows系统中成功安装了docker 19.03.2。但是为了使用 NVIDIA 的 GPU 支持,我必须安装 nvidia-docker。

这是我感到困惑的时候。很少有地方解释 Linux 环境的安装过程,但我找不到任何适用于 Windows 系统的地方。也很少有人说将来将不再支持 nvidia-docker2 软件包。所以我在这一点上很困惑。

我的一些朋友建议我使用 google colab 而不是 docker。我同意他们的观点,这非常有用,但如果我仍然只想使用 docker 怎么办。我相信必须有一些解决方案。

任何帮助和建议将不胜感激。

0 投票
1 回答
2075 浏览

docker - 无法检测从 Pycharm 启动的 tensorflow docker 容器上的 GPU

我正在尝试从 Pycharm IDE 中使用 tensorflow 提供的支持 gpu 的 docker 映像运行一个简单的 tensorflow 示例。一切正常,除了当我运行它时,tensorflow 不会从容器中检测到 GPU 并默认返回CPU

运行:Ubuntu 18.04.3 Docker 19.03.3 最新版本的 NVIDIA docker 支持:https ://github.com/NVIDIA/nvidia-docker

我已经使用远程解释器功能设置了我的 Pycharm 项目来运行图像:tensorflow:latest-gpu

如果我从命令行运行容器:

我明白了:

..它告诉我 docker install、image 和 nvidia docker 支持都可以。

现在,当 Pycharm 运行容器时,它不包含“--gpus all”命令行选项。

如果我在没有 --gpus all 参数的情况下运行上面的相同命令:

我得到:

所以这表明 Pycharm 没有添加标志作为罪魁祸首。

但是,根据以下文档:https : //docs.docker.com/config/containers/resource_constraints/(GPU 的底部),环境变量 NVIDIA_VISIBLE_DEVICES=all 应该完成同样的事情。我确认即使没有 --gpus all 参数,这个环境变量也会被设置。

此外,似乎没有办法从 Pycharm 中添加额外的命令行参数。所以我被困住了。我觉得这个设置不是太奇特,希望我缺少一些基本的东西。

0 投票
1 回答
158 浏览

python - 在 Nvidia-Docker 中运行 CUFFT 例程

我是 Docker 新手,尤其是 Nvidia-Docker。我正在尝试将我的代码包装到 docker 容器中并在某些主机上运行它。但显然出了点问题,我无法在 docker 中运行我的代码。我已经安装了 Nvidia-docker 并且 Dockerfile 是从这里获取的。这是我的完整码头代码

还有一个 bash 脚本代码,其中 cudahelmf 和 cudahelmd 以前由

要构建和运行 docker 我使用

运行后我有错误

我究竟做错了什么?是否因为 -lcufft 编译选项而发生,并且 docker 不知道从哪里获得它?并且 docker 安装后没有 /usr/local/cuda/ 目录。由于 cuda-libraries-dev 包含 cufft 库并且安装成功结束,这似乎很奇怪。

这是我计算机上的 nvcc 版本,其中代码已编译和先前测试过。

和 nvidia-docker 版本

PS也许有一个选项可以在docker中编译代码?