docker安装
- 安装主机的操作系统为ubuntu22.04
- 参考官方教程,非常完善(可能需要vpn)
docker常用命令
-
搜索镜像
docker search ***
-
拉取镜像
docker pull ***
-
查看所有镜像
docker images
-
根据镜像创建容器
doker run -it --name aaa -v $PWD/data_common:/data_common --net=host bbb /bin/bash # aaa 为容器的名称 # -v 后面是把当前目录下的data_common文件夹映射到容器的data_common文件夹。可以使主机和容器共享文件 # --net=host 是使用当前主机网络 # bbb为镜像的名称或者是镜像的ID # /bin/bash 是为其创建命令行 # 需要gpu的,需要安装nvidia-docker docker run -it --runtime=nvidia --name=*** --gpus all bbb #runtime,指定nvidia运行 #--gpu all 指定容器可以使用所有的gpu #bbb为镜像的名称或者id #其余的共享文件夹和网络等和上面不使用gpu的相同
-
退出当前的容器,但不停止它
键盘同时按住 ctrl+q+p
-
查看正在运行的容器
docker ps
-
查看当前主机下的所有容器
docker ps -a
-
进入正在运行的容器
docker attach 容器名称或容器ID
-
停止正在运行的容器
docker stop 容器名称或容器ID
-
启动已经创建好的容器
docker start 容器名称或容器ID
-
重启正在运行的容器
docker restart 容器名称或容器ID
-
删除容器
docker rm 容器名称或容器ID
-
删除镜像
docker rmi 镜像名称或镜像ID #需要没有容器引用该镜像 docker rmi -f 镜像名称或镜像ID #强制删除,无论是否有容器引用 docker rmi 镜像名称:TAG #删除TAG版本的镜像
-
打包镜像为tar文件
docker save 镜像名称:版本号或者镜像ID > /home/打包名字.tar
-
将打包的镜像加载出来
docker load < /home/打包名字.tar
-
修改镜像的名字和版本号
docker tag 镜像ID 镜像名字:版本号
-
将容器打包为镜像
docker commit -m="提交的描述信息" -a="创建者" 容器名称或容器ID 生成的镜像名:标签名 #-m= : 为镜像添加描述信息 #-a= : 为镜像添加创建者信息
Subsequent____________________________________________
重装nvidia-docker2
-
前段时间,重装了nvidia的驱动,把nvidia-docker2给卸载了,需要重新安装
-
重装之前需要确定nvidia的驱动和docker安装完成
-
之后执行如下命令
sudo apt-get install nvidia-docker2 sudo pkill -SIGHUP dockerd
-
进行测试
sudo docker run --rm --gpus all nvidia/cuda:11.0.3-base nvidia-smi
-
出现报错
Error could not select device driver ““ with capabilities: [[gpu]]
-
查阅相关的资料,只需要重新安装一下nvidia-container-toolkit
sudo apt autoremove nvidia-container-toolkit sudo apt install -y nvidia-container-toolkit
-
再次进行测试,完美运行
jing@jing:~$ sudo docker run --rm --gpus all nvidia/cuda:11.0.3-base nvidia-smi [sudo] jing 的密码: Tue Aug 8 03:07:48 2023 +-----------------------------------------------------------------------------+ | NVIDIA-SMI 525.105.17 Driver Version: 525.105.17 CUDA Version: 12.0 | |-------------------------------+----------------------+----------------------+ | 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:10:00.0 Off | N/A | | 0% 30C P8 8W / 170W | 6MiB / 12288MiB | 0% Default | | | | N/A | +-------------------------------+----------------------+----------------------+ +-----------------------------------------------------------------------------+ | Processes: | | GPU GI CI PID Type Process name GPU Memory | | ID ID Usage | |=============================================================================| +-----------------------------------------------------------------------------+