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>的镜像,没什么作用,建议工作的时候删除掉

posted @ 2022-05-15 21:59  cuteAIR  阅读(201)  评论(0编辑  收藏  举报