【Docker-k8s学习和实战】(六)docker镜像相关管理操作:增、删、改、查、维护

❤️ 专栏简介 :本专栏我们会从最基础的内容开始学习Docker的相关内容,循序渐进的掌握Docker知识并进行实战。

☀️ 专栏适用人群 :适用于具备基础 Linux 知识的 Docker 初学者,当然希望各位有经验的docker开发者不吝赐教。

🌙专栏特点:通俗易懂、图文并茂、非常详细;

🌴 专栏说明 :如果文章知识点有错误的地方,欢迎大家随时在文章下面评论,我会第一时间改正。让我们一起学习,一起进步。

🍄 专栏地址:https://blog.csdn.net/anchenliang_1002/category_11878561.html

在这里插入图片描述

本节主要介绍了docker镜像的增删改查相关操作,包括获取镜像查看镜像删除镜像以及镜像的综合管理等。

一、获取镜像(docker pull)

当然获取镜像的方法有很多种:

1、从dockerhub获取镜像
2、本地镜像导出、导入
3、私有的docker仓库

本节我们主要讲第一种方式:从dockerhub获取镜像。

通过前面的知识我们也大概知道了,获取镜像我们一般从镜像仓库获取;默认的docker仓库是dockerhub,dockerhub上有大量的优质镜像,当然也有很多用户上传的镜像;当我们学习完docker之后,也可以上传自己的镜像到dockerhub中,比如,我们可以下载一个centos镜像,然后用该镜像运行出一个容器,并在容器中按照了vim nginx等软件;最后提交镜像,上传到dockerhub上,其他小伙伴就可以下载使用咱们上传的镜像了。

1.1 获取镜像

获取镜像的命令:

#查找镜像,tag为具体的标签版本
docker search 镜像名:tag

#下载镜像
# 方式1 不带tag
docker pull centos  #如果centos后面不加tag,那就默认是centos:latest,即默认下载latest标签版本
# 方式2 带tag
docker pull centos:7.8.2003  # 下载7.8.2003标签版本的centos

例如获取centos镜像的过程如下:

docker search centos

在这里插入图片描述
然后下载centos镜像:

docker pull centos

在这里插入图片描述
可以看到,不加tag时,上面会提示下载的是默认tag,即latest。

1.2 查看本地的镜像

下载完成后,查看本地的docker镜像命令

docker images 

docker image ls
#以上两条指令时等价的

在这里插入图片描述
就可以看到我们刚刚下载的centos:releast镜像了。

1.3 镜像文件存储位置

那这些镜像都放在哪些位置呢?

docker info | grep Root

在这里插入图片描述
可以看到Root存放在 /var/lib/docker下;

咱们刚刚pull下来的docker镜像是放在/var/lib/docker/image/overlay2/imagedb/content/sha256下的,我们来查看一下:
在这里插入图片描述
可以看到/var/lib/docker/image/overlay2/imagedb/content/sha256下存放的就是镜像的文件,文件的命名是镜像id,它和我们docker images看到的镜像id是一一对应的。这些文件的作用的记录镜像和容器的配置关系;

1.4 使用不同镜像,生成容器

启动centos(latest)容器

docker run -it --rm centos bash

指令参数解释:

-it :开启一个交互式的终端
--rm:容器退出时删除该容器
bash:进入终端后开启bash命令

在这里插入图片描述
可以看到我们进入了centos(latest)容器内部,且可以看到最新tag的centos是8.4.2105;

使用exit可以退出容器:
在这里插入图片描述

启动centos7.8.2003容器

在这里插入图片描述

docker images可以看到我们宿主机里还有centos7.8.2003镜像,让我们用它来运行出容器;

docker run -it --rm centos bash

在这里插入图片描述
可以看到我们进入了centos(7.8.2003)容器内部;

依旧是使用exit可以退出容器:
在这里插入图片描述

二、查看镜像

2.1 查看本地的镜像

查看本地都有哪些镜像

docker images 

docker image ls
#以上两条指令时等价的

在这里插入图片描述

就可以看到我们本地都有哪些docker镜像了;第一列(REPOSITORY)是docker镜像的名称,第二列(TAG)是镜像的标签;第三列是镜像ID;第四列是镜像的创建时间(或上次修改的时间);最后一列是该镜像的大小;

查看具体的镜像

docker images +具体的镜像名

以上指令可以用来查看相关的镜像;比如
在这里插入图片描述

当然也可以具体到查看某一个tag的镜像:

docker images +具体的镜像名:tag

在这里插入图片描述

只查看镜像id

# -q 是-quit的缩写
 docker images -q

在这里插入图片描述

格式化查看镜像

使用docker的模板语言,格式化的查看镜像的某些信息。
比如我们只想看某个镜像的仓库名称和它的id:

docker images --format "{{.ID}}--{{.Repository}}"

在这里插入图片描述

以表格形式显示

docker images --format "table {{.ID}}\t{{.Repository}}\t{{.Tag}}"

在这里插入图片描述

2.2 查看(搜索)dockerhub里的镜像

比如搜索dockerhub里有没有centos镜像:

docker search centos

在这里插入图片描述
可以看到,有很多centos的镜像,其中第一个是官方版的。

那有没有搜索不到的情况(即dockerhub 里没有该镜像):

docker search adfsafdsafsda

在这里插入图片描述
可以看到,啥也没有。

三、删除镜像

我们可以根据镜像的 id、名字、摘要等方式去删除镜像

# 根据名字删除centos镜像
docker rmi centos

在这里插入图片描述
可以看到是分层删除的。

# 根据id删除centos镜像
docker rmi 镜像id

四、镜像的综合管理

4.1 批量删除镜像

#批量删除当前所有镜像(慎用)
docker rmi `docker images -aq`

4.2 导出镜像

 docker image save 所要导出的镜像 > 目录/导出后的镜像名称
 
 #例如导出centos7.8.2003镜像到/opt目录下并命名为centos7.8.2003-acl.tgz镜像
 
 docker image save centos:7.8.2003 > /opt/centos7.8.2003-acl.tgz

运行结果:
在这里插入图片描述

比如默认运行的centos镜像,不提供vim功能,我们可以运行该容器后,在容器内安装vim,然后提交该镜像;再导出该镜像为压缩文件,就可以发给其他人使用了。
详细过程如下:

[root@localhost acl]# docker run -it centos:7.8.2003 bash
[root@7ce3ebdd0cd3 /]# yum install vim 
。。。。。。。。。。省略安装过程
[root@7ce3ebdd0cd3 /]# exit
exit
[root@localhost acl]# 
[root@localhost acl]# 
[root@localhost acl]# docker image save centos:7.8.2003 > /opt/centos7.8.2003-acl.tgz
[root@localhost acl]# ls /opt/ -lh
总用量 202M
-rw-r--r--  1 root root 202M 6  29 22:31 centos7.8.2003-acl.tgz
drwx--x--x  4 root root   28 6  24 19:33 containerd
drwxr-xr-x. 3 root root   24 6  19 20:59 kingsoft
drwxr-xr-x. 2 root root    6 10 31 2018 rh
[root@localhost acl]# 

4.3 导入镜像

#导入镜像命令

docker image load -i 镜像存放路径+名称

#例如导入放在/opt目录下的centos7.8.2003-acl.tgz镜像
docker image load -i /opt/centos7.8.2003-acl.tgz

4.4 查看镜像详细信息

#查看docker服务信息
docker info 
#查看镜像详细信息
docker image inspect +镜像id

例如:
docker image inspect 605c77e624dd

在这里插入图片描述

  • 4
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

乘凉~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值