初识docker

2024-01-03 06:09:56

虚拟机

docker

docker images

docker images -fdocker images --filter 用于在Docker中根据特定条件过滤本地镜像列表。以下是一些具体例子:

  1. 显示所有未被任何容器引用的(悬空或孤立)镜像:
docker images -f "dangling=true"
  1. 筛选出标签为 nginx 的镜像创建时间之后的所有镜像:
docker images -f "since=nginx"
  1. 根据镜像仓库名进行过滤,例如查找名为 myapp 的镜像:
docker images -f "reference=myapp"

docker images -f "reference=myapp:*"

docker images -f "reference=*:latest"//查找所有最新的镜像

docker images -f "reference=*t*"//查找包括t的镜像 只会查官方的
  1. 按照镜像大小进行过滤,比如只显示大于50MB的镜像(需要配合 SIZE 过滤器,但请注意 Docker CLI 直接支持的过滤选项中并不直接包含按大小筛选的功能,这种需求可能需要通过其他脚本辅助实现)。
  2. 根据镜像创建的时间戳过滤(假设您想找到所有在指定日期和时间之前创建的镜像):
docker images -f "before=2023-12-30T14:00:00"
  1. 使用多个过滤条件时,可以组合使用,例如同时查找标签中包含 webversion=1.0 的镜像:
docker images -f "label=web" -f "label=version=1.0"

需要注意的是,Docker 支持的过滤器类型可能会随着版本更新而有所变化,请查阅最新的 Docker 文档以获取完整且准确的支持过滤器列表。

如果只要显示repository

docker images --format {{.Repository}}

docker images --format {{.Repository}}:{{.Tag}}:{{.Size}}

docker search

docker search -f is-automated=true zookeeper

这条命令的作用是在Docker Hub中搜索包含关键词"zookeeper"的镜像,并且筛选出那些标记为自动构建(is-automated)为true的结果。这意味着它将只显示那些通过自动化流程构建和更新的Zookeeper镜像。

docker search -f stars=100 zookeeper

找出starts大于100的:

image-20231230125420705

docker search --limit=5 zookeeper

返回搜索结果中排名前5的基于关键词 “zookeeper” 的镜像。

docker rmi

删除本地镜像

docker rmi -f hello-world  //强制删除

移除所有镜像

docker rmi -f $(docker images -q)

docker save

docker save -o my.tar zookeeper tomcat:8.5.32
docker save zookeeper tomcat:8.5.32 > zt.tar

docker load

docker load -i my.tar
docker load < my.tar

镜像分层

Linux的启动过程

镜像摘要

采用SHA256哈希算法,一个镜像确定之后的摘要是不变的,因为镜像是只读的。

docker images zookeeper --digests

但由于在pull或者push镜像的时候,都会对镜像进行压缩用来减少网络带宽和传输时长,但压缩之后这个镜像的内容就被修改了,就会导致经过网络传输之后,镜像内容与其digests不一致。

分发散列值

为了解决上述问题,docker增加了一个分发散列值,这时候就会发送三样东西:镜像、没有压缩时的digests、压缩后的分发散列值。

在镜像被压缩之后,立即计算分发散列值,然后使该值随压缩的镜像一起发送过去,在接收方接收后,立即计算压缩镜像的分发散列值,再和携带的分发散列值对比,如果相同,就可以说明传输没有问题。

多架构镜像

文章来源:https://blog.csdn.net/2301_79516932/article/details/135344446
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。