Ubuntu20.04 Nvidia Docker 安装
首先,确保已经安装Nvidia显卡驱动
Ubuntu可视化界面:软件和更新-附加驱动-选择合适的驱动(这里选择的是专有,testesd)-应用更改
一. 安装docker
1.下载安装包(ctrl+Alt+T打开终端)
wget -qO- https://get.docker.com/ | sh
2.更新docker用户组
sudo groupadd docker #添加docker用户组
sudo gpasswd -a $XXX docker #检测当前用户是否已经在docker用户组中,其中XXX为用户名,例如我的,liangll
sudo gpasswd -a $USER docker #将当前用户添加至docker用户组
newgrp docker #更新docker用户组
3.测试
docker run hello-world
如果成功安装,则输出以下内容:
Hello from Docker!
This message shows that your installation appears to be working correctly.
To generate this message, Docker took the following steps:
1. The Docker client contacted the Docker daemon.
2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
(amd64)
3. The Docker daemon created a new container from that image which runs the
executable that produces the output you are currently reading.
4. The Docker daemon streamed that output to the Docker client, which sent it
to your terminal.
To try something more ambitious, you can run an Ubuntu container with:
$ docker run -it ubuntu bash
Share images, automate workflows, and more with a free Docker ID:
https://hub.docker.com/
For more examples and ideas, visit:
https://docs.docker.com/get-started/
4.查看docker版本
docker version
输入以下内容:
Client: Docker Engine - Community
Version: 20.10.9
API version: 1.41
Go version: go1.16.8
Git commit: c2ea9bc
Built: Mon Oct 4 16:08:29 2021
OS/Arch: linux/amd64
Context: default
Experimental: true
Server: Docker Engine - Community
Engine:
Version: 20.10.9
API version: 1.41 (minimum version 1.12)
Go version: go1.16.8
Git commit: 79ea9d3
Built: Mon Oct 4 16:06:37 2021
OS/Arch: linux/amd64
Experimental: false
containerd:
Version: 1.4.11
GitCommit: 5b46e404f6b9f661a205e28d59c982d3634148f8
runc:
Version: 1.0.2
GitCommit: v1.0.2-0-g52b36a2
docker-init:
Version: 0.19.0
GitCommit: de40ad0
二. 安装 Nvidia Docker
安装
curl https://get.docker.com | sh
sudo systemctl start docker
sudo systemctl enable docker
设置稳定存储库和GPG密钥:
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
在更新包列表后安装nvidia-docker2包(和依赖项)
sudo apt-get update
sudo apt-get install -y nvidia-docker2
设置默认运行时间后,重新启动Docker守护程序完成安装:
sudo systemctl restart docker
新建一个名为develop的docker,同时安装nvidia/cuda:11.4.2-base-ubuntu20.04,将develop容器的‘home‘映射到本地文件夹‘/home/naijia/桌面/code:/home‘,设计自启动,端口映射(例如将develop的22端口映射到本地的224,需要注意的是本机的224端口用于ssh连接)
nvidia docker 仓库:https://hub.docker.com/r/nvidia/cuda/tags,可以根据情况选择,此处为‘nvidia/cuda:11.4.2-base-ubuntu20.04’
sudo docker run -it --ipc=host --gpus all -v /home/naijia/桌面/code:/home --restart=always --name develop -p 6006:6606 -p 1234:1234 -p 2333:2333 -p 224:22 -p 6666:6666 nvidia/cuda:11.4.2-base-ubuntu20.04
成功输出以下信息:
Unable to find image 'nvidia/cuda:11.0-base' locally
11.0-base: Pulling from nvidia/cuda
54ee1f796a1e: Pull complete
f7bfea53ad12: Pull complete
46d371e02073: Pull complete
b66c17bbf772: Pull complete
3642f1a6dfb3: Pull complete
e5ce55b8b4b9: Pull complete
155bc0332b0a: Pull complete
Digest: sha256:774ca3d612de15213102c2dbbba55df44dc5cf9870ca2be6c6e9c627fa63d67a
Status: Downloaded newer image for nvidia/cuda:11.0-base
Wed Oct 20 13:58:22 2021
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 470.74 Driver Version: 470.74 CUDA Version: 11.4 |
|-------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
| | | MIG M. |
|===============================+======================+======================|
| 0 NVIDIA GeForce ... Off | 00000000:01:00.0 Off | N/A |
| N/A 45C P0 N/A / N/A | 557MiB / 2004MiB | 8% Default |
| | | N/A |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes: |
| GPU GI CI PID Type Process name GPU Memory |
| ID ID Usage |
|=============================================================================|
+-----------------------------------------------------------------------------+
三. 进入docker
docker attach develop # develop为本文新建的docker名称
四. 后台运行docker
ctrl+p+q