【Docker】笔记

搜索镜像

docker search xxx

拉镜像

docker pull xxx  xxx处直接指定镜像名就可以,默认会下latest

如果有更多需求,可如下:

docker pull daocloud.io/daocloud/tensorflow:latest 

删镜像

docker rmi imageID/name

查看已有镜像

docker images

建容器

docker run -it --name myts -v /home/xxx/test/tensorflow/notebooks:/notebooks -p 8888:8888 tensorflow/tensorflow:latest /bin/bash

-v配置存储映射

测试容器时,可加上 --rm 用完自动删除

删容器

docker rm containerID

查看容器

docker ps -a(-a显示全部,包括exited的。不加就只显示up的)

顺便记录一下在工作站配环境踩过的坑。。。


如果要在容器中使用GPU需要装nvidia-docker

之前安装了nvidia-docker还是用不了GPU,后来发现是没有装nvidia-container-runtime

联网安装nvidia-docker或者container-runtime都需要配repository,不然直接yum装是搜不到相关包的(除了联网也可以下载好对应的rpm包再直接用yum装,不过当然还是联网装更快乐啦)

按网上一篇博客(https://blog.csdn.net/qq_37674858/article/details/92630775)中的配置方法如下:

curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.repo | sudo tee /etc/yum.repos.d/nvidia-docker.repo
DIST=$(sed -n 's/releasever=//p' /etc/yum.conf)
DIST=${DIST:-$(. /etc/os-release; echo $VERSION_ID)}
sudo rpm -e gpg-pubkey-f796ecb0
sudo gpg --homedir /var/lib/yum/repos/$(uname -m)/$DIST/nvidia-docker/gpgdir --delete-key f796ecb0 1043  ls
sudo yum install nvidia-docker2
sudo yum install nvidia-container-runtime
docker run --runtime=nvidia --rm nvidia/cuda nvidia-smi
View Code

中间设置key的地方我没有配置成,不知道它这个key是哪里来的。。不过最后还是很神奇的貌似设置好repository了。。反正就可以用yum来安装nvidia-docker2和nvidia-container-runtime了

安装好后,运行命令:

docker run -it --name cuda-tf --runtime=nvidia -v /home/zhouzy/test/tensorflow/notebooks:/notebooks nvidia/cuda /bin/bash

这个时候可以成功运行命令nvidia-smi看到本地GPU的信息了。

不过此时docker中没有yum和vim命令,安装方法如下:

apt-get update

apt-get install vim -y

apt-get install yum -y


报错

”Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get http://%2Fvar%2Frun%2Fdocker.sock/v1.26/images/json: dial unix /var/run/docker.sock: connect: permission denied“


解决方法

sudo groupadd docker #添加docker用户组

sudo gpasswd -a $XXX docker #检测当前用户是否已经在docker用户组中,其中XXX为用户名,例如我的,liangll

sudo gpasswd -a $USER docker #将当前用户添加至docker用户组

newgrp docker #更新docker用户组

测试:

docker version将不再出现提示

原文地址:https://www.cnblogs.com/YeZzz/p/13094977.html