【问题标题】:nvidia-docker GPU in Docker ContainerDocker 容器中的 nvidia-docker GPU
【发布时间】:2019-04-23 15:35:55
【问题描述】:

我正在尝试复制需要我遵循 this particular tutorial on setting up Jupyter + Tensorflow + Nvidia GPU + Docker + Google Compute Engine 的工作/实验。 '

我能够成功安装nvidia-docker。但是,在tutorialVerify the GPU is Visible from a Docker Container 部分下,当我尝试运行时

sudo nvidia-docker-plugin

我收到以下错误(见最后一行):

nvidia-docker-plugin | 2019/04/23 15:17:47 Loading NVIDIA unified memory
nvidia-docker-plugin | 2019/04/23 15:17:47 Loading NVIDIA management library
nvidia-docker-plugin | 2019/04/23 15:17:47 Discovering GPU devices
nvidia-docker-plugin | 2019/04/23 15:17:47 Provisioning volumes at /var/lib/nvidia-docker/volumes
nvidia-docker-plugin | 2019/04/23 15:17:47 Serving plugin API at /run/docker/plugins
nvidia-docker-plugin | 2019/04/23 15:17:47 Serving remote API at localhost:3476
nvidia-docker-plugin | 2019/04/23 15:17:47 Error: listen tcp 127.0.0.1:3476: bind: address already in use

当我跑步时

sudo nvidia-docker run --rm nvidia/cuda nvidia-smi

我碰巧收到以下executable file not found in $PATH": unknown 错误:

docker: Error response from daemon: OCI runtime create failed: container_linux.go:345: starting container process caused "exec: \"nvidia-smi\": executable file not found in $PATH": unknown.
ERRO[0000] error waiting for container: context canceled 

我对 docker 很陌生;因此,如果有人可以帮助我完成解决方案,那就太好了。我试过搜索for answers,但解决问题的实际过程却让我望而却步。任何帮助将不胜感激。

编辑:我按照教程中的说明设置 GCE 实例(即 Ubuntu 16.04 LTS,50GB 引导磁盘,1 个 GPU,带有 jupyter 和 tensorboard)

【问题讨论】:

  • 关于正在使用的 nvidia docker 插件地址,您可能已经有一个实例在运行。您可以尝试使用docker run --runtime=nvidia --rm nvidia/cuda:9.0-base nvidia-smi 运行 docker(可能需要 sudo)吗?新的 nvidia-docker 与 docker 引擎集成为运行时。
  • @FrankYuchengGu 运行上述命令返回docker: Error response from daemon: Unknown runtime specified nvidia.
  • 你能运行nvidia-docker吗?您是否尝试过包含的答案链接中指定的 PATH 修复?
  • @FrankYuchengGu 不,因为我不完全确定该怎么做。您能否向我指出一个可以更清楚地解释如何做到这一点的资源?

标签: docker tensorflow nvidia-docker


【解决方案1】:

要解决第一个问题,看起来 nvidia-docker-plugin 已经在运行。要查找此服务,请使用:

sudo netstat -tlpn | grep 3476

然后用 :

杀死它
sudo pkill nvidia-docker

第二个,安装 nvidia-docker2 并重新加载 Docker 守护进程配置:

curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | \
  sudo apt-key add -
distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | \
  sudo tee /etc/apt/sources.list.d/nvidia-docker.list
sudo apt-get update

# Install nvidia-docker2 and reload the Docker daemon configuration
sudo apt-get install -y nvidia-docker2
sudo pkill -SIGHUP dockerd

更多详情的链接:

【讨论】:

    猜你喜欢
    • 2014-09-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多