查看镜像
docker images
删除镜像
docker rmi [镜像id的前5位]或[镜像name:镜像tag]
如果有两个镜像指向同一个id,则使用镜像id进行删除时会报错,需要使用name+tag的方式删除,如下:
查看容器(镜像的实例)
docker ps -a
-a 表示查看所有运行中的和停止的
运行容器
创建容器+运行容器(相当于docker create+docker start)
docker run -it [镜像id的前5位]或[镜像name:镜像tag] /bin/bash
加-it和/bin/bash是为了让镜像在当前terminal中持续运行,如果不加-it /bin/bash,执行完docker run之后docker就会自动停止。
已有容器+运行容器
docker start -i [镜像id的前5位]或[镜像name:镜像tag]
使用docker run命令来启动容器,docker在后台运行的标准操作包括
1.检查本地是否存在指定的镜像,不存在则从公有仓库下载
2.使用镜像创建并启动容器
3.分配一个文件系统,并在只读的镜像层外面挂载一层可读可写层
4.从宿主主机配置的网桥接口中桥接一个虚拟接口道容器中去
5.从地址池分配一个ip地址给容器
6.执行用户指定的应用程序
7.执行完毕之后容器被终止
删除容器
docker rm 容器id的前5位
导入导出
1、导出某个容器
导出某个容器,非常简单,使用docker export命令,语法:docker export $container_id > 容器快照名
导出后在本地可以看到有一个centos.tar的容器快照。
2、导入某个容器--docker import命令
有了容器快照之后,我们可以在想要的时候随时导入。导入快照使用docker import命令。
例如我们可以使用cat centos.tar | docker import - my/centos:v888 导入容器快照作为镜像
处理本地的容器快照导入为镜像,我们还可以通过指定一个URL或者目录来导入。
例如在某个网络上有个快照image_test.tgz:docker import http://xxxx.com/image_test.tgz test/image_test
镜像保存/载入:docker load/docker save;将一个镜像导出为文件,再使用docker load命令将文件导入为一个镜像,会保存该镜像的的所有历史记录。比docker export命令导出的文件大,很好理解,因为会保存镜像的所有历史记录。
容器导入/导出:docker import/docker export;将一个容器导出为文件,再使用docker import命令将容器导入成为一个新的镜像,但是相比docker save命令,容器文件会丢失所有元数据和历史记录,仅保存容器当时的状态,相当于虚拟机快照。