linux - 没有 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
.
有什么好的解决办法吗?请问有什么线索吗?
解决方案
因为您的问题似乎仅在运行“--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/
推荐阅读
- maven - Maven 无法下载父 pom,因为它附加了错误的版本?
- javascript - 从 js 对象中删除数据
- python-3.x - 在执行 box-cox 和分解之后,想要根据状态找到预测
- c++ - 在现代 CMake 中定义预处理器
- vba - 如何在 Word 2016 中触发鼠标右键单击事件处理程序?
- reactjs - 从反应导航中动态删除一个drawerItem
- bash - 通过 shell 的 Oracle 数据库连接
- oracle - 如何在顶点5创建树形图?
- testing - 自动化服务器运行的 Testcafe 测试随机失败
- c# - 无法加载文件或程序集“ClearScriptV8-32.DLL”或其依赖项之一。指定的模块无法找到