ubuntu安装docker和nvidia-docker2
docker19以下版本
安装docker
下载docker
docker下载地址
安装命令:
sudo dpkg -i docker-ce_18.06.3_ce_3-0_ubuntu_amd64.deb
测试命令
sudo docker run hello-world
查看docker版本
安装nvidia-docker2
对docker18.06,需要安装nvidia-docker2:
- 不管是nvidia-docker还是nvidia-docker2,你安装的目的,是为了在docker中能直接使用本机的GPU吧, 只要docker的版本超过19,就可以直接调用GPU,而不必使用nvidia-docker的相关命令了。只要在docker run的命令中,增加一个 --gpus all的参数即可。
执行下面的命令
curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add -
curl -s -L https://nvidia.github.io/nvidia-docker/ubuntu18.04/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list
sudo apt-get update
安装nvidia-docker2
sudo apt-get install nvidia-docker2
报错:
解决办法:猜测原因是docker和要安装的nvidia-docker2版本不匹配,输入命令
sudo apt-get remove docker-ce
继续报错
输入下面的命令,发现是因为之前装了nvidia-docker,但没装成功,使用下面的命令卸载即可。
apt --fix-broken install
至此,完成安装nvidia-docker2
查看当前cuda版本
nvidia-smi
由于我的cuda版本是10.2,输入如下命令:
sudo nvidia-docker run --rm nvidia/cuda:10.2-devel nvidia-smi
报错
解决办法:输入命令
sudo systemctl daemon-reload
sudo systemctl restart docker
成功
docker19以上版本
安装docker
该部分略过,参考上面安装19以上版本的docker即可。
安装nvidia-container-runtime
更新下载源
sudo curl -s -L https://nvidia.github.io/nvidia-container-runtime/gpgkey | \
sudo apt-key add -
distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
sudo curl -s -L https://nvidia.github.io/nvidia-container-runtime/$distribution/nvidia-container-runtime.list | \
sudo tee /etc/apt/sources.list.d/nvidia-container-runtime.list
sudo apt-get update
安装nvidia-container-runtime
apt-get install nvidia-container-runtime
停止docker
systemctl stop docker
把运行时添加到docker中
dockerd --add-runtime=nvidia=/usr/bin/nvidia-container-runtime
完成。
在使用docker创建容器时,指定–gpus all参数,创建完成后进入容器,使用nvidia-smi测试是否能够使用gpu。
[1]:Linux上安装docker及nvidia-docker
[2]:Ubuntu问题——在Ubuntu18.04上安装Docker和nvidia-docker2
[3]:Ubuntu18.04安装nvidia-docker(亲测有效,步骤详尽)
[4]:nvidia-docker2 : Depends: docker-ce (= 5:18.09.43-0ubuntu-bionic) but 5:18.09.33-0ubuntu-bionic
[5]:docker: Error response from daemon: Unknown runtime specified nvidia
[6]:ubuntu 在docker中使用gpu,安装nvidia-container-runtime