使用Docker hub搭建并维护docker环境

Docker hub类似于github的使用

创建Dockerhub账号

点击Dockerhub ,创建账号,必要时需要VPN。

搭建Docker

从头搭建一个Docker比较复杂,可以基于别人的docker环境来改进,以pytorch环境为例。

pull 一个 docker

在这里插入图片描述
输入关键词pytorch,点击进入找到tag,因为每个docker的image是由名字(pytorch/pytorch)和版本(tag)两部分组成。
在本地运行

docker pull pytorch/pytorch:1.7.1-cuda11.0-cudnn8-devel

修改docker

进入docker:

docker run --runtime=nvidia -it --name=test --ipc=host --net=host pytorch/pytorch:1.7.1-cuda11.0-cudnn8-devel

随意配置环境

conda install pytorch-gpu=1.3.1 -y

维护

保存并提交docker hub

配置完后,“exit”退出docker。

将配置好的docker commit到自己的docker(相当于复制了一份到自己的docker)。

 docker ps -a    # 查看并找到配置好的docker的id
  # enshi是用户名,test是dockerhu上的docker的名字,v0是tag,也可以理解为版本号。 test和v0都可以自己随意指定
docker commit [docker id] enshi/test:v0   

Docker commit 命令

在本地登录dockerhub,再把本地的自己的docker push到dockerhub上。

docker login -u [username] -p [password]    # 如果报错的话,很可能是因为机器默认使用了一个docker证书
#如果报错:删除/usr/local/bin/下的docker证书再登录
#sudo rm /usr/local/bin/docker-credential-pass
docker push enshi/test:v0   

之前的docker的image可以删除,节约空间

Docker常用操作

  • Docker run
  • 查看docker:docker ps -a
  • 查看docker镜像:docker image ls
  • 删除docker:docker rm [docker id]
  • 删除docker image:docker rmi [docker image id]
  • 删除container: docker rm [docker container id]
  • docker start dd903b670192 #如果执行docker run 会提示容器已经存在错误
  • docker exec -it dd903b670192 /bin/bash

参考

常用命令变体

docker run

-v指定内外文件的映射,-d可以运行在后台

docker run --runtime=nvidia -itd --name=py-gpu3 --ipc=host --net=host -v /home/v-ensh/sciteamdrive2:/sciteamdrive2 enshi/pytorch-gpu:v2
docker start  [container id]
docker exec -it   [container id] /bin/bash


版权声明:本文为qq_36097393原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。