首页 > 解决方案 > 没有 sudo 命令,Docker 标志“--gpu”不起作用

问题描述

我是 ubuntu 用户。我使用以下泊坞窗图像,tensorflow/tensorflow:nightly-gpu

如果我尝试运行此命令

$ docker run -it --rm --gpus all tensorflow/tensorflow:nightly-gpu bash

有权限被拒绝错误。

docker: Error response from daemon: OCI runtime create failed: container_linux.go:380: starting container process caused: process_linux.go:545: container init caused: Running hook #0:: error running hook: exit status 1, stdout: , stderr: nvidia-container-cli: mount error: open failed: /sys/fs/cgroup/devices/user.slice/devices.allow: permission denied: unknown.

当然,如果我使用 ,我可以运行此命令sudo,但我想不gpu使用sudo.

有什么好的解决办法吗?请问有什么线索吗?

标签: linuxdockerubuntugpu

解决方案


因为您的问题似乎仅在运行“--gpu”时出现。

添加/更新 /etc/nvidia-container-runtime/config.toml 的这两个部分

[nvidia-container-cli]
no-cgroups = true

[nvidia-container-runtime]
debug = "/tmp/nvidia-container-runtime.log"

来源:https ://github.com/containers/podman/issues/3659#issuecomment-543912380

如果你根本不能使用没有 sudo 的 docker

如果你在Linux环境下运行,你需要为docker创建一个用户,这样你就不需要sudo每次都使用了。以下是创建的步骤:

$ sudo groupadd docker

$ sudo usermod -aG docker $USER

$ newgrp docker 

来源:https ://docs.docker.com/engine/install/linux-postinstall/


推荐阅读