1.使用nvidia-docker
1)nvidia-docker1, 使用nvidia-docker 指令替代docker指令
2)nvidia-docker2, 還是使用docker指令,但是要加--runtime=nvidia 的標誌。
關於配置,宿主機一定要有nvidia的驅動,nvidia-docker會把宿主機的nvidia驅動和顯卡設備信息帶至容器內部。
容器內部,需要安裝與nvidia驅動版本兼容的CUDA,CUDNN等。
推薦使用這種方法,比較方便。
2.使用原生docker
與使用nvidia-docker的區別就是
1)需要在容器內部安裝nvidia的驅動
2)執行指令需指定顯卡設備
export DEVICES=$(\ls /dev/nvidia* | xargs -I{} echo '--device {}:{}')
docker run -it --rm $DEVICES 。。。
docker 容易可以從docker hub上下載,比如pytorch的docker
下載開發版本就可以了,docker pull pytorch/pytorch:0.4-cuda9-cudnn7-devel。
然後繼續安裝缺少的環境就可以了。