平台:Ubuntu 18.04.4 LTS
GPU:1080Ti 双卡
1. 首先如果你之前装过docker并且没有成功,那么先全部卸载掉和docker相关的所有安装过的包
sudo apt-get remove docker* --purge
2. 安装包以允许通过HTTPS使用存储库
sudo apt-get install \
apt-transport-https \
ca-certificates \
curl \
software-properties-common
3. 添加Docker的官方GPG密钥
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo apt-key fingerprint 0EBFCD88
输出如下:
pub rsa4096 2017-02-22 [SCEA]
9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88
uid [ 未知 ] Docker Release (CE deb) <docker@docker.com>
sub rsa4096 2017-02-22 [S]
4. 添加到源
即使您还想从边缘或测试存储库安装构建,您始终需要稳定的存储库。要添加边缘或测试存储库,请在以下命令中的单词stable之后添加单词edge或test(或两者)
sudo add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable"
5. 最后
sudo apt-get install -y nvidia-docker2
注意,到这就结束是因为docker-ce18.09.0已经自动安装 如果颠倒顺序就是:
sudo apt-get install docker-ce=18.09.0
sudo apt-get install -y nvidia-docker2
PS:这个时候如果提示E: 无法定位软件包 nvidia-docker2
那就先执行下面这一句话,之后再执行sudo apt-get install -y nvidia-docker2
:
curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | \
sudo apt-key add -
distribution="ubuntu18.04"
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
6. 安装一个docker容器进行测试
sudo pkill -SIGHUP dockerd
sudo docker run --runtime=nvidia --rm nvidia/cuda:10.1-base nvidia-smi
这句话就是安装nvidia/cuda:10.1-base
这个容器,之后在容器中执行nvidia-smi命令。
输出如下:
(base) xx@xxx:~$ sudo docker run --runtime=nvidia --rm nvidia/cuda:10.1-base nvidia-smi
Unable to find image 'nvidia/cuda:10.1-base' locally
10.1-base: Pulling from nvidia/cuda
7ddbc47eeb70: Pull complete
c1bbdc448b72: Pull complete
8c3b70e39044: Pull complete
45d437916d57: Pull complete
d8f1569ddae6: Pull complete
85386706b020: Pull complete
ee9b457b77d0: Pull complete
Digest: sha256:3cb86d1437161ef6998c4a681f2ca4150368946cc8e09c5e5178e3598110539f
Status: Downloaded newer image for nvidia/cuda:10.1-base
Thu Mar 12 09:49:37 2020
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 430.50 Driver Version: 430.50 CUDA Version: 10.1 |
|-------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
|===============================+======================+======================|
| 0 GeForce GTX 108... Off | 00000000:17:00.0 Off | N/A |
| 31% 48C P2 157W / 250W | 10891MiB / 11178MiB | 51% Default |
+-------------------------------+----------------------+----------------------+
| 1 GeForce GTX 108... Off | 00000000:65:00.0 On | N/A |
| 29% 27C P8 10W / 250W | 449MiB / 11177MiB | 0% Default |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes: GPU Memory |
| GPU PID Type Process name Usage |
|=============================================================================|
+-----------------------------------------------------------------------------+
PS:nvidia docker指定显卡启动
docker 启动参数上加 -e NVIDIA_VISIBLE_DEVICES=1(0代表第一块显卡,1代表第二块显卡,不加参数是全部启动)
sudo docker run -it --runtime=nvidia -e NVIDIA_VISIBLE_DEVICES=1 需要启动的docker名称 bash
REFERENCE
https://cloud.tencent.com/developer/article/1421365
https://blog.csdn.net/wuzhongli/article/details/86539433
https://www.jianshu.com/p/5bdcd4804456