目錄
- 1、無(wú)nvidia-docker
- 2、nvidia-docker1.0
- 3、nvidia-docker2.0
- 4、安裝docker-19.03及以上版本
為了使docker容器可以使用nvidia-docker,可以有如下幾種辦法:
1、無(wú)nvidia-docker
在早期的時(shí)候,沒(méi)有nvidia-docker,可以通過(guò)在容器內(nèi)再部署一遍nvidia GPU驅(qū)動(dòng)解決。同理,其他設(shè)備如果想在容器里使用,也可以采用在容器里重新安裝一遍驅(qū)動(dòng)解決。
2、nvidia-docker1.0
nvidia-docker是英偉達(dá)公司專門用來(lái)為docker容器使用nvidia GPU而設(shè)計(jì)的,設(shè)計(jì)方案就是把宿主機(jī)的GPU驅(qū)動(dòng)文件映射到容器內(nèi)部使用,可以通過(guò)tensorflow生成GPU驅(qū)動(dòng)文件夾。
3、nvidia-docker2.0
nvidia-docker2.0對(duì)nvidia-docker1.0進(jìn)行了很大的優(yōu)化,不用再映射宿主機(jī)GPU驅(qū)動(dòng)了,直接把宿主機(jī)的GPU運(yùn)行時(shí)映射到容器即可。啟動(dòng)方式示例:
nvidia-docker run -d -e NVIDIA_VISIBLE_DEVICES=all --name nvidia_docker_test nvidia/cuda:10.0-base /bin/sh -c "while true; do echo hello world; sleep 1; done"
4、安裝docker-19.03及以上版本
docker19.03及以上版本,已經(jīng)內(nèi)置了nvidia-docker,無(wú)需再單獨(dú)部署nvidia-docker了。安裝方式如下:
安裝docker:
yum install -y yum-utils yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo yum-config-manager --enable docker-ce-nightly yum-config-manager --enable docker-ce-test yum install docker-ce docker-ce-cli containerd.io systemctl start docker
安裝nvidia-container-toolkit
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 sudo yum install -y nvidia-container-toolkit sudo systemctl restart docker
啟動(dòng)容器:
docker run --gpus all nvidia/cuda:10.0-base /bin/sh -c "while true; do echo hello world; sleep 1; done"
進(jìn)入容器并輸入nvidia-smi驗(yàn)證。