3.docker基本命令-镜像
Docker基本命令.镜像类
Docker镜像(Image)就是一个只读的模板。镜像可以用来创建Docker容器,一个镜像可以创建很多容器。
它也相当于是一个root文件系统。比如官方镜像centos:7就包含了完整的一套centos:7最小系统的root文件系统。相当于容器的“源代码”,docker镜像文件类似于Java的类模板,而docker容器实例类似于java中new出来的实例对象。
Docker运行容器前需要本地存在对应的镜像,如果镜像不存在Docker会尝试先从默认镜像仓库下载,用户也可以通过配置,使用自定义的镜像仓库
1. 列出本地主机中的镜像
[rootghadoop108 ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
REPOSITOR:镜像的仓库源
TAG:镜像的标签信息,表示镜像的版本,只是标记,并不能表示镜像内容
MAGE ID:镜像id,唯一表示一个镜像.如果两个镜像的ID相同,说明它们实际上指向了同一个镜像,只是具有不同标签名称而已
CREATED:镜像的最后更新时间
SIZE:镜像大小
参数:-a 列出本地所有镜像(含历史镜像层) -q 只显示镜像id
2. 搜索远程仓库中的 镜像
docker search centos
docker search --limit 5 mysql
--limit 5 列出点赞数最多的前5个
3. 拉取镜像
当我们在本地主机上使用一个不存在的镜像时,docker就会自动下载这个镜像。如果我们想
预先下载这个镜像,我们可以使用docker pull 镜像名字[:TAG]命令来下载它
docker pull centos:7.5.1804
docker pull mysq1 相当于 docker pull mysql:latest
docker pull hello-world
docker images
注意:下载完成后,可以使用这个镜像来运行容器,不加tag则默认下载latest版
4. 删除镜像
- 使用tag标签删除镜像
docker rmi hello-world:latest
注意:如果别除的时候报错:有容器使用了该镜像,则需要先删除使用过该镜像的容器,才能
删除该镜像
- 使用id删除镜像
[root@hadoop108]# docker rmi bf756fblae65
- 删除多个镜像
docker rmi -f 镜像名1:tag1 镜像名2:tag2
docker rmi -f bf756fblae65 hello-world:latest
- 删除所有镜像
docker rmi `docker images -aq`
- 强制删除镜像
[root@hadoop108~]# docker rmi -f hello-world:latest
[root@hadoop108~]# docker rmi -f bf756fblae65
- 清理镜像
[root@hadoop108~]# docker image prune -f
使用Docker一段时间后,系统中可能会遗留一些临时的镜像文件,以及一些没有被使用的
镜像,可以通过docker image prune-f命令来进行清理
5. 查看镜像/容器/数据卷 所占的空间
docker system df
6. 镜像保存为具体文件
[root@hadoop108 ~]# docker save -o centos.tar centos:7.5.1804 #tag的方式
[root@hadoop108 ~]# docker save -o helloworld.tar d1165f221234 #id的方式
7. 把镜像文件加载到docker镜像中
-
方式1
[rootchadoop108 ~]# docker load --input centos.tar [root hadoop108 ~]# docker load -i centos.tar
-
方式2
[rootehadoop108 ~]# docker load centos.tar
docker容器时docker镜像的实例化产生的
8. 谈谈docker的虚悬镜像是什么
虚悬镜像:仓库名,标签名都是<none>的镜像,没什么作用,建议工作的时候删除掉