Docker常用操作

增、改、删、查

  • 查看服务器上存在的镜像
docker images
  • 查看存在的容器
docker ps #查看运行的容器
docker ps -a #查看所有的容器,包括已经退出的容器
  • 从存在的镜像创建容器

    运行~目录下的./deploy_container_with_gpu.sh

注意:

source folder:为刚才在2.2步骤中建立的/目录下的test文件夹(/test)

target folder:是在新建的容器中的映射文件夹,名字可以跟test一样,将虚拟机中文件映射到docker容器中。

2020-03-18-01

也可以使用下列命令创建容器:

docker run -itd --name [容器名] [镜像名]

第一次创建的容器,退出后会自动关闭,需要手动重启:

docker restart [容器名]或[容器ID]
如:
docker restart pytorch040-py3-cuda8 
docker restart 5d53c112ebf5
  • 进入容器

    进入容器前,使用docker ps -a查看容器信息

    2020-03-18-02

docker exec -ti [容器名] bash

2020-03-18-03

  • 退出容器
exit

如果exit退出不了,可以使用ctrl+P+Q快捷键。

  • 删除镜像
docker rmi [image id]

想要删除untagged images,也就是那些id为Noneimage的话可以用

docker rmi $(docker images | grep "^<none>" | awk "{print $3}")
  • 删除容器
docker stop [容器ID] #删除容器之前需要关闭容器
docker rm [容器ID]

也可以批量关闭和删除:

docker stop $(docker ps -a -q)  
docker rm $(docker ps -a -q)

从容器创建一个新的镜像,并上传到docker hub

step1

首先,要注册一个docker 账号,并创建一个仓库,用户名和仓库名是接下来要用到的。这些操作和github很像。

  • 在终端登录docker账号
docker login
#然后根据提示输入用户名和密码

step2

使用commit命令,创建镜像。

语法

docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]

OPTIONS说明:

  • -a :提交的镜像作者;
  • -c :使用Dockerfile指令来创建镜像;
  • -m :提交时的说明文字;
  • -p :在commit时,将容器暂停。

实例

将容器a404c6c174a2 保存为新的镜像,并添加提交人信息和说明信息。

runoob@runoob:~$ docker commit -a "runoob.com" -m "my apache" a404c6c174a2  mymysql:v1 
sha256:37af1236adef1544e8886be23010b66577647a40bc02c0885a6600b33ee28057
runoob@runoob:~$ docker images mymysql:v1
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
mymysql             v1                  37af1236adef        15 seconds ago      329 MB

step3

打包成功后,使用tag命令标记本地镜像,将其归入远程仓库。

这一步也可以合并到step2中,即在commit时指定远程仓库名。

语法

docker tag [OPTIONS] IMAGE[:TAG] [REGISTRYHOST/][USERNAME/]NAME[:TAG]

实例

将镜像ubuntu:15.10标记为 runoob/ubuntu:v3 镜像。

root@runoob:~# docker tag ubuntu:15.10 runoob/ubuntu:v3
root@runoob:~# docker images   runoob/ubuntu:v3
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
runoob/ubuntu       v3                  4e3b13c8a266        3 months ago        136.3 MB

step4

push命令将本地镜像上传到远程仓库。

语法

docker push [OPTIONS] NAME[:TAG]

OPTIONS说明:

  • disable-content-trust :忽略镜像的校验,默认开启

实例

上传本地镜像myapache:v1到镜像仓库中。

docker push myapache:v1

参考链接:

菜鸟教程

花名k的博客

删除容器和镜像

posted @ 2020-07-06 10:56  Neo_KH  阅读(152)  评论(0)    收藏  举报