带无根Docker的GPU

带无根Docker的GPU,docker,gpu,Docker,Gpu,我不希望我的用户有机会在特权模式下运行他们的容器。最近,在Docker 19.03中,他们引入了一种无根实验模式。它工作得很好,但是我不知道如何将它与一个。当我使用--gpus all标记运行图像时,会导致错误: docker: Error response from daemon: could not select device driver "" with capabilities: [[gpu]]. ERRO[0000] error waiting for container: conte

我不希望我的用户有机会在特权模式下运行他们的容器。最近,在Docker 19.03中,他们引入了一种无根实验模式。它工作得很好,但是我不知道如何将它与一个。当我使用
--gpus all
标记运行图像时,会导致错误:

docker: Error response from daemon: could not select device driver "" with capabilities: [[gpu]].
ERRO[0000] error waiting for container: context canceled 

是否可以使用GPU运行无根Docker?

我也遇到了同样的问题。我的系统环境是Ubuntu18.04和Docker19.03。通过以下方法解决了该问题:

主要原因:需要安装docker runtime 步骤1:进行nvidia GPU检查

$ lspci -vv | grep -i nvidia
步骤2:创建文件

$ touch nvidia-container-runtime-script.sh
步骤3:打开并输入以下内容

$ vim nvidia-container-runtime-script.sh

curl -s -L https://nvidia.github.io/nvidia-container-runtime/gpgkey | \
sudoapt键添加- 发行版=$(./etc/os发行版;echo$ID$VERSION\u ID) curl-s-L$distribution/nvidia-container-runtime.list |\ sudo-tee/etc/apt/sources.list.d/nvidia-container-runtime.list sudoapt获得更新

步骤4:执行文件管理

$ sh nvidia-container-runtime-script.sh
第五步:那么

$ sudo apt-get install nvidia-container-runtime
步骤6:检查是否成功

$ which nvidia-container-runtime-hook
(如果成功,将显示)/usr/bin/nvidia容器运行时钩子

步骤7:重新启动

$ sudo systemctl daemon-reload
$ sudo systemctl restart docker
最后:做你想做的事

(s.t.)$docker run -it --rm --gpus all ubuntu nvidia-smi

祝你好运

/etc/nvidia container runtime/config.toml
行下

[nvidia-container-cli]
添加以下行:

no-cgroups = true

更多信息:

这似乎不是无根的。特别是,您正在使用sudo启动docker。是否要在不使用“sudo”的情况下使用命令,或仅在当前帐户而不是根帐户中使用命令?如果是,则应执行以下命令。1$sudo groupadd docker 2.$sudo usermod-aG docker youraccountname 3.$su root 4.$su youraccountname 5.$sudo chown“$USER”:“$USER”/home/“$USER/.docker-R 6.$sudo chmod g+rwx”/home/$USER/.docker”-R然后可以在没有“sudo”的情况下运行逗号。我不知道我是否完全明白你的意思。Rootless是一个参考:你可能有幸与英伟达运行时间: