搜索镜像
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
中间设置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将不再出现提示