# Add the package repositories
$ distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
$ curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add -
$ 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 && sudo apt-get install -y nvidia-container-toolkit
$ sudo systemctl restart docker ## 重启docker
测试:
docker run --gpus all nvidia/cuda:9.0-base nvidia-smi
正常。
- 现在假如我从dockerhub上选择了一个pytorch GPU镜像:
docker pull pytorch/pytorch:1.8.1-cuda11.1-cudnn8-runtime
那我怎么用nvidia-docker运行它呢?
sudo docker run -it --gpus all -d --name="torch" -v ~/codefiles:/workspace pytorch/pytorch:1.8.1-cuda11.1-cudnn8-runtime /bin/bash
-v是磁盘挂载,咱们启动容器之后不是就进入了workspace目录嘛,在这里可以输入python进入python编辑界面,或者在目录里输入pip install ……等等,总之就是workspace里可以进行各种操作。
那么问题来了,我想把运行代码放到工作目录还得再上传之类的,所以我想让workspace读取磁盘某个目录,那我直接把想运行的代码文件放到这个目录就好了。
这里
-v ~/codefiles:/workspace
这句话的意思就是让/workspace读取~/codefiles目录下的文件。