安装nvidia-docker2
source link: https://note.qidong.name/2018/11/install-nvidia-docker2/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
安装nvidia-docker2
2018-11-07 22:36:03 +08 字数:843 标签: Linux Docker
为什么要用nvidia-docker2? ¶
一个浅显的原因是,nvidia-docker
已经被官方废弃了。
最大的原因是,nvidia-docker
作为Docker的一个包装,需要运行一个独立的daemon,与Docker的生态不能很好地兼容。
比如,docker-compose
、docker swarm
与Kubernetes,都不能很好的和nvidia-docker
一起工作。
nvidia-docker2
解决了这些问题,甚至能在非官方CUDA镜像以外的镜像工作。
nvidia-docker
是一个Volume Plugin,而nvidia-docker2
则是一个Docker Runtime,机制的差异,带来了巨大的改进。
安装nvidia-docker2 ¶
Debian-based distributions ¶
以下是基于Debian系的安装方法:
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
具体到Ubuntu 16.04来说,nvidia-docker.list
就是如下内容:
deb https://nvidia.github.io/libnvidia-container/ubuntu16.04/$(ARCH) /
deb https://nvidia.github.io/nvidia-container-runtime/ubuntu16.04/$(ARCH) /
deb https://nvidia.github.io/nvidia-docker/ubuntu16.04/$(ARCH) /
RHEL-based distributions ¶
distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.repo | \
sudo tee /etc/yum.repos.d/nvidia-docker.repo
红帽系的,孤没用过,以上仅为官方样例。
配置nvidia-docker2 ¶
安装后,需要配置新的Docker Runtime。
同时,也需要把默认的Runtime设为nvidia
。
{
"runtimes": {
"nvidia": {
"path": "nvidia-container-runtime",
"runtimeArgs": []
}
},
"default-runtime": "nvidia",
...
}
以上内容加入/etc/docker/daemon.json
文件中,然后重启dockerd
。
sudo systemctl restart docker
对不需要GPU资源的应用来说,这样设了也不会有问题,除非它依赖另一个Runtime。
如果没有default-runtime
的配置,在运行时添加一个参数--runtime
,也能使容器可以访问GPU资源。
docker run --runtime nvidia ...
APT证书验证问题 ¶
某些公司的内网,环境及其恶劣,证书验证不一定能通过。
把一下一行添加到/etc/apt/apt.conf
中,可以确保apt update
时不出问题。
Acquire::https::nvidia.github.io::Verify-Peer "false";
参考 ¶
本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可,详见本站版权声明。
本站没有任何支持评论功能的计划。 如果你对本站的设计、内容、观点有什么意见,欢迎来信指正。
作者:匿蟒 邮箱:[email protected] 备案:闽ICP备15022549号
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK