NVidia-Docker2安装与常⽤命令
 在云桌⾯执⾏该命令时报错:curl:(35) gnutils_handshake() failed:Error in the push function. gpg:不到有效的OpenPGP数据碰到问题:gpg: 不到有效的 OpenPGP 数据。
解决⽅法:依次输⼊以下两条命令:
⽅法1:
⽅法2:
直接下载好4个包:
libnvidia-container1_1.0.1-1_amd64.deb
libnvidia-container-tools_1.0.1-1_amd64.deb
nvidia-container-runtime_3.1.4-1_amd64.deb
nvidia-container-toolkit_1.0.5-1_amd64.deb
sudo dpkg -i *.deb 依次安装即可
测试安装docker进入容器
 docker run --runtime=nvidia --rm nvidia/cuda nvidia-smi
 ⼀般会报错,使⽤命令:nvidia-smi查看当前CUDA版本[cuda:11.0]
输⼊以下命令:
 sudo nvidia-docker run --rm nvidia/cuda:11.0-devel nvidia-smi
 如果出现unable to find image 'nvidia/cuda:11.0-devel' locally
11.0-devel:Pulling from nvidia-cuda
3ff22d22a855 Downloading ...
就表⽰安装成功了
sudo systemctl stop docker(停⽌docker守护进程,如若被占⽤,下⽅的docker会报gpu错误)
六、简易Docker操作
1)启动docker
 sudo docker run [OPTIONS] IMAGE [COMMAND] []
 sudo docker run -d  -p 8009:80 jimchen:nginx-image-test
 sudo docker run --gpus 1 -it --rm --shm-size="32g" -v /data/local_dir/:/docker_dir:rw --entrypoint="/bin/bash" dockername:dockertag 2)进⼊docker容器
 sudo docker exec -it 126 /bin/bash 注:126为容器ID前3位
重启动容器
docker start anaconda  运⾏容器anaconda,anaconda是容器名
 docker exec -it anaconda /bin/bash   /bin/bash指在容器anaconda中运⾏交互式终端
3)停⽌⼀个运⾏的容器
 docker stop -t=(5)s 126 延时关闭5s   
4)直接关闭运⾏的容器
docker kill
5)重启⼀个容器
 docker restart 126
6)查看当前运⾏中的容器
 docker ps
7)为镜像打个标签
 docker tag 860c279d2fec runoob/centos:dev   镜像ID:860c279d2fec
8)构建镜像
 docker build -t runoob/centos:6.7 .    注意最后的点不能缺少,⽣成完:runoob/centos为REPOSITORY,6.7为TAG
使⽤新的镜像来创建容器
docker run -t -i runoob/centos:6.7  /bin/bash
sudo docker run -t -i pytorch/pytorch:1.3-cuda10.1-cudnn7-devel /bin/bash
docker run --gpus all --shm-size="8g" -it --rm --entrypoint="/bin/bash" /imagesys/mx-app-alg:v0.5 (镜像)
9)获取镜像
 sudo docker pull NAME[:TAG]
 sudo docker pull centos:latest
9)删除镜像
⾸先删除容器,再删除镜像
 docker ps -a
docker rm id
 删除镜像
 docker ps -a
docker images
docker rmi id
注:删除前需保证容器是停⽌的
10)导出镜像为.tar
docker save -o pytorch_latest.tar pytorch/pytorch:latest:导出将需要花费⼀点时间,导出成功后将.tar拷到离线主机导⼊即可
11)导⼊镜像.tar
docker load -i pytorch_latest.tar:镜像导出和导⼊需要使⽤相匹配的命令,如save对应load
12)将当前容器保存为⼀个镜像:
docker commit -a “yaohui” containerID imageNAME
13)启动anaconda容器并安装jupyter
docker run -it --name="anaconda" -p 8888:8888 continuumio/anaconda3 /bin/bash
参数-it是启⽤交互式终端,--name="anaconda"是给容器起名字,-p 8888:8888是将容器的8888端⼝映射到本地的8888端⼝,便于访问jupyter
 docker run -it --name="anaconda_2" -p 8888:8888 -v `pwd`:/root continuumio/anaconda3 /bin/bash
参数-v将当前⽬录pwd挂载到容器的/root⽬录,容器中对/root所做的改动会同步到主机

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。