nvidia docker的安装参考Installation Guide — NVIDIA Cloud Native Technologies documentation。
移动docker存储目录
参考How to move the default /var/lib/docker to another directory for Docker on Linux? | DigitalOcean
但如果你的文件系统是zfs,那么你需要做一点调整,使得docker能识别目标文件系统。文件/etc/docker/daemon.json
的内容应如下。
{
"storage-driver": "zfs",
"graph": "/scratch/opt/docker",
"runtimes": {
"nvidia": {
"path": "nvidia-container-runtime",
"runtimeArgs": []
}
}
}
运行
nvidia docker其实只是docker的一个runtime,因此,只要在运行容器的命令中加入--runtime=nvidia
即可给你的容器添加gpu的支持。
docker run --name=asplos_ae --runtime=nvidia -d -t -v /scratch/asplos_ae_home:/root/ -i nvidia/cuda:11.1.1-devel-ubuntu20.04 /bin/bash
-d
后台运行,-v
映射外部文件夹到容器内,nvidia/cuda:11.1.1-devel-ubuntu20.04
是nvidia官方提供的镜像,可从Docker Hub获得。
导入与导出
docker commmit asplos_ae asplos_ae
即可将容器保存为镜像,第一个名字是容器的名字,第二个是要生成的镜像的名字。
docker save -o ae_image_v1.tar value_expert_ae:latest
将镜像导出为tar包,可以再使用高压缩率的7zip来压缩。
docker load -i ./ae_image_v1.tar
从tar包导入镜像。
Reference
Installation Guide — NVIDIA Cloud Native Technologies documentation
https://www.hangge.com/blog/cache/detail_2411.html
Comments