23

Ubuntu22.04 DockerCE 容器内使用GPU

注意只有DockerCE版本才能使用GPU

安装nvidia软件源

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
sudo apt update

安装

sudo apt install nvidia-container-toolkit

检查是否成功

sudo which nvidia-container-runtime-hook

如果找到nvidia-container-runtime-hook则安装成功了

重启Docker

sudo systemctl restart docker

测试使用

docker run --gpus all nvidia/cuda:latest nvidia-smi

显卡监控

docker run -d --gpus all -p 9200:9400 nvcr.io/nvidia/k8s/dcgm-exporter:3.3.5-3.4.0-ubuntu22.04
302

清理Docker占用空间

在Linux上,当删除Docker容器后,它们占用的磁盘空间并不会立即释放。这是因为Docker使用了一种称为"Copy-on-Write"的机制,即在删除容器时,底层的镜像和文件系统层仍然存在于磁盘上。

清理未使用的镜像

这将删除未使用的镜像,包括已删除的容器的基础镜像

docker image prune -a

清理Docker卷(Volumes)

这将删除未使用的Docker卷,以释放磁盘空间

docker volume prune

清理Docker网络(Networks)

这将删除未使用的Docker网络,以释放磁盘空间

docker network prune
418

Ubuntu中安装Docker-CE

适用于 Ubuntu 20.04 22.04

卸载原版本

安装docker-ce社区版前,先卸载docker-desktop等原有版本

apt remove docker-desktop

apt autoremove

安装依赖包

让apt支持https

299

docker访问宿主机

host模式,容器内共享宿主机的网络

--network host