【KAWAKO】docker暴力上手
让docker可以使用nvidia显卡
确保电脑安装了nvidia显卡驱动
nvidia-smi
安装nvidia docker
- 添加包含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
- 安装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
强制停止容器
版权声明:
本站所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自
KAWAKO!
喜欢就支持一下吧
打赏
微信
支付宝