Docker 镜像操作
Docker 镜像操作
一、Docker 镜像概述
Docker 镜像是一个只读的模板,用于创建 Docker 容器。镜像可以包含一个基本的操作系统环境,并预装所需的应用程序(如 Apache、Nginx 等)。镜像是容器的基础,Docker 通过分层存储和版本管理机制,使得镜像的创建、共享和更新变得简单高效。
用户可以从 Docker Hub 或其他镜像仓库下载已有的镜像,也可以基于现有镜像构建自定义镜像。
二、Docker 镜像操作
1、列出镜像
可以使用docker images来列出本地主机上的镜像
[root@docker ~]# docker images

输出列说明:
REPOSITORY:镜像仓库源TAG:镜像标签(版本)IMAGE ID:镜像唯一标识CREATED:创建时间SIZE:镜像大小
2、搜索镜像
可以从 Docker Hub 网站来搜索镜像,Docker Hub 网址为: https://hub.docker.com/
search 命令来搜索镜像,比如我们需要一个 httpd 的镜像,我们可以通过 docker search 命令搜索 httpd 来寻找适合我们的镜像
如果使用不了,深呼吸,是正常的
[root@docker ~]# docker images
输出列说明:
NAME:镜像名称DESCRIPTION:描述STARS:点赞数OFFICIAL:是否官方发布AUTOMATED:是否自动构建
3、获取镜像
当我们在本地主机上使用一个不存在的镜像时,Docker 就会自动下载这个镜像
如果我们想预先下载这个镜像,我们可以使用 docker pull 命令来下载它
而镜像可以通过 Docker Hub 官方获取,或者通过国内的阿里云、DaoCloud 等厂商所提供的镜像仓库下
载
[root@docker ~]# docker pull httpd

4、添加镜像标签
为了方便在后续工作中使用特定镜像,可以使用docker tag命令来作为本地镜像任意添加新的标签
[root@docker ~]# docker tag httpd:latest yyhttp:latest

5、查看镜像构建历史
可以使用docker history查看镜像的构建历史信息
在使用docker时经常会自己构建一些我们所需要的镜像,所以要会查看镜像的构建信息
[root@docker ~]# docker history httpd

6、删除镜像
可以使用docker rmi或者docker image rm将我们用不到的镜像删除
通过镜像名删除
删除镜像时,后面接镜像名称
[root@docker ~]# docker rmi httpd

通过镜像 ID 删除
删除镜像时,后面接镜像ID
如果该镜像没有被打标签,可直接删除
[root@docker ~]# docker rmi 65005131d37e

强制删除
用于有多个标签的镜像
如果该镜像被重新打了标签,是无法删除的,
[root@docker ~]# docker rmi -f 65005131d37e

7、清理无用镜像
使用docker一段时间后,系统可能会遗留一些临时的镜像文件,以及一些没有被使用的镜像
可以通过docker image prune命令来进行清理
-a,-all:删除所有无用的镜像,不仅仅是临时镜像
-f,-force:强制删除镜像,而不进行提示确认
[root@docker ~]# docker image prune -f
Total reclaimed space: 0B
如上命令会自动清理临时的遗留镜像文件层,最后会提示释放的存储空间
8、导出镜像
可以使用docker image save将一个镜像导出到一个压缩包中,便于在其他主机上运行
[root@docker ~]# docker image save httpd > httpd.tar.gz

9、导入镜像
可以使用docker image load导入我们需要的镜像压缩包
为了实验效果,首先我们把之前的httpd镜像删除
[root@docker ~]# docker image load -i httpd.tar.gz

10、查看镜像详细信息
使用 docker [image] inspect 命令可以获取该镜像的详细信息,包括制作者、适应架构、各层的数字摘要等
如果我们只要其中一项内容时,可以使用-f 来指定
[root@docker ~]# docker image inspect -f "{{.Architecture}}" httpd:latest
[root@docker ~]# docker image inspect -f "{{.Os}}" httpd:latest
[root@docker ~]# docker image inspect -f "{{.Size}}" httpd:latest

三、总结
- 使用的镜像如果在本地中不存在,使用docker pull自动从Docker镜像仓库中下载
- 我们可以使用docker search命令从Docker Hub网站来搜索镜像
- docker tag命令添加的标签镜像,它们的镜像ID是一致的,类似链接的作用
- 可以使用docker rmi或者docker image rm将我们用不到的镜像删除,如果镜像被使用,那么无法删除镜像。删除的镜像可以是镜像名称标签或者是镜像ID
- 如果该镜像被重新打了标签,是无法删除的,那么想一并删除该镜像和此镜像设置的标签后的镜像,可在后面跟-f选项,该选项是强制的意思
- 使用docker一段时间后,系统可能会遗留一些临时的镜像文件,以及一些没有被使用的镜像,可以通过docker image prune命令来进行清理
更多推荐


所有评论(0)