让docker可以使用nvidia显卡

确保电脑安装了nvidia显卡驱动

nvidia-smi

安装nvidia docker

官方文档

  1. 添加包含NVIDIA Docker的存储库
distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-docker-archive-keyring.gpg
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
  1. 安装NVIDIA Docker
sudo apt-get install -y nvidia-docker2
sudo systemctl restart docker

把当前用户添加到docker用户组

将当前用户添加到docker用户组之后,省去了每次使用docker命令都要加sudo的麻烦。

# 将当前用户添加到docker用户组
sudo usermod -aG docker 用户名

#更新用户组更改
newgrp docker

运行完之后使用docker ps试一下会不会出现permission denied报错。没出现的话成功,出现的话退出当前终端再试一下。

从docker hub拉取镜像

进入docker hub,搜索自己喜欢的镜像。

复制“Docker Pull Command”中的命令,直接放到终端中运行(需要sudo权限)。

查看已有的docker镜像

sudo docker images

根据镜像创建容器,同时把本地目录挂载到容器

使用下面的命令创建容器。如果没有装nvidia-docker的话,不需要--gpus all

sudo docker run --gpus all --name 容器名字 -p 本地端口:容器端口 -it -v 本地目录:容器目录 镜像名字或ID /bin/bash

创建完会自动进入容器,在容器内输入exit可以直接停止并退出容器。

查看已有的容器状态

sudo docker ps -a

不添加-a的话,只显示正在运行的容器。添加-a的话,显示所有容器(包括已经停止的容器)。

  • IMAGE :镜像名

  • NAMES:容器名

  • CONTAINER ID:容器ID

  • STATUS:如果是“Up”开头的就是还在运行。如果是“Exited”开头的就是已经停止。

启动容器

sudo docker start 容器名或ID

start后添加-i的话,会在启动之后立即进入容器,并且退出后立即停止容器。

进入容器

sudo docker exec -it 容器名或ID /bin/bash

不进入容器,但是在容器内部运行一条命令

sudo docker exec -it 容器名或ID 命令(如ls、pwd、nvidia-smi)

docker exec -d -it pytorch2 jupyter-lab --allow-root --notebook-dir=/root --ip='*'

停止容器

停止某个容器

sudo docker stop 容器名

停止所有容器

sudo docker stop $(sudo docker ps -a -q)

删除停止的容器和镜像

删除容器

删除某个容器

sudo docker rm 容器名或ID

删除所有停止的容器

sudo docker rm $(sudo docker ps -a -q)

删除镜像

sudo docker rmi 镜像名或ID

以.tar文件传输镜像

将镜像保存为.tar文件

sudo docker save -o 文件名.tar 镜像名

将.tar加载为镜像

sudo docker load -i 文件名.tar

强制停止容器

这篇博客

文章作者: KAWAKO
版权声明: 本站所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 KAWAKO
服务器 环境配置 docker
喜欢就支持一下吧
打赏
微信 微信
支付宝 支付宝