Docker Image (镜像) 常见命令

Docker Image (镜像) 常用命令

docker images

  • 功能:列出本地所有的镜像。如果镜像 ID 相同,但是 Tag 标签不同,也会被当作不同的条目被列出来。

  • 语法:

    docker images [options] [REPOSITORY[:TAG]] 
    
  • 别名:

    docker image ls    # 这个命令属于是镜像的命令,所以说会有一个 image 的标识哈
    docker image list  # 之后我们学习到的容器的命令,就会有一个 container 的标识!
    
  • 参数:

    • -a:列出本地的所有镜像,他只会显示顶级的镜像层,会过滤掉中间的镜像层。Docker 镜像是分层的,中间镜像层的存在可以 提高重用性,减少磁盘用量,加速 docker 镜像的构建 ,默认这些中间层是不显示的,后续我们会讲到显示这些中间层镜像的命令。
    • –digests:显示镜像的摘要信息。
    • -f–fliter:显示满足条件的所有镜像。
    • –format:指定返回值的模板文件。
    • –no-trunc:显示完整的镜像信息,不截断输出。
    • -q:只显示镜像的 ID。
  • 演示:

    如下图:我们使用 docker images -a 命令列出了本地的所有镜像,我们能看到镜像的名字,镜像的 Tag,镜像的 IMAGE ID,镜像创建的时间,以及镜像的大小哈!

    img


    如下图:我们使用 docker images --digests 就能看到我们在拉取镜像时,可能会用到的 DIGESTS 值。

    img


    如下图:我们使用 docker images --format json 就可以将输出的结果格式化成 json 的格式。具体格式化出来的格式支持自定义,大家可以去官网学习!

    img


如下图:我们使用 docker images -q 命令,就只能看到镜像的 ID,不能毫无用处,只能说一点用没有。奥,不对,在删除镜像的时候可能会用到。

img

docker tag

  • 功能:创建引用 SOURCE_IMAGE 的标签 TARGET_IMAGE,就相当于取别名,在使用 docker pull 命令的时候就需要使用 docker tag 给镜像取别名,然后 pull 到指定的仓库。

  • 语法:

    docker tag SOURCE_IMAGE[:TAG] TARGET_IMAGE[:TAG]
    
  • 别名:

    docker image tag
    
  • 演示:

    如下图:我们使用 docker tag centos:centos7centos:centos7 这个镜像取别名,然后就会在本地创建引用 SOURCE_IMAGE 的镜像,因为他们的 IMAGE ID 都是一样的。

    当然我们使用 docker tag IMAGE_ID 也可以,docker tag eeb6ee3f44bd centos:v5

    img

docker image inspect

  • 功能:列出一个或者多个镜像的详细信息。

  • 语法:

    docker image inspect [OPTIONS] IMAGE [IMAGE ...] 
    
  • 参数:

    • -f–format :以指定格式输出。
  • 演示:

    如下图:我们使用 docker iamge inspect 查看一个镜像的详细信息,我们能看到 Tag,DIGESTS,创建时间等,可以看到有一个 Layers,它显示镜像的所有层,构成了整个镜像的文件系统,是镜像中实际存在的层。可以对比等会讲的 docker history 命令。

    img

docker history

  • 功能:显示镜像的历史。

  • 语法:

    docker history [OPTIONS] IMAGE
    
  • 别名

    docker image history
    
  • 参数:

    • -H–human :以人易读的方式显示大小和日期。默认应该是带了这个选项的。
    • –no-trunc :显示全部信息,不截断。
    • -q–quiet :只显示镜像 ID。
  • 演示:

    如下图:我们使用 docker history nginx:1.25.4 查看 nginx 这个镜像的历史。我们看到结果也显示出来了分层信息。这里的分层是什么呢?它显示的是镜像的构建历史,它记录了构建镜像时执行的每个步骤和创建的层。这些步骤通常对应于 Dockerfile 中的指令,例如 RUNCOPYADD 等。history 命令主要关注于这些构建步骤,而不是镜像中的每一个物理层。此外,Dockerfile 中的某些指令可能会创建多个内部层,但这些内部层在最终镜像中可能被合并为一个层,这会导致 docker image historydocker image inspect 看到的层数不同。

    img

docker pull

参考镜像仓库的命令。

docker push

参考镜像仓库的命令。

docker rmi

  • 功能:删除一个或者多个镜像。

  • 语法:

    docker rmi [OPTIONS] IMAGE [IMAGE ...]
    
  • 别名:

    docker image rm
    docker image remove
    
  • 参数:

    • -f :强制删除镜像。正在运行的容器镜像是无法删除的,除非使用 -f 选项。
  • 演示:

    如下图:在我的本地镜像中,有多个 IMAGE ID 为 eeb6ee3f44bd 的镜像标签,当 docker rmi 的不是最后的那个标签,只会进行 Untagged 的操作,只有当删除的是最后一个标签才会把这个镜像从本地删除。

    img


如果我们使用 docker rmi IMAGE ID 删除镜像的时候,如果这个镜像被多个 Tag 关联,是不能直接删除这个镜像的!除非加上 -f 选项,这会将所有 Tag 解除关联,并删除镜像!

img


如下图:我们无法删除正在运行的容器镜像。但是可以加上 -f 选项,删除已经停止的容器镜像。

img

docker save

  • 功能:将一个或者多个镜像保存成为 tar 归档文件。

  • 语法:

    docker save [OPTIONS] IMAGE [IMAGE ...]
    
  • 别名

    docker image save
    
  • 参数:

    • -o–output:输出到的目标文件。
  • 演示:

    如下图:我们将 nginx 这个镜像 保存成为 tar 文件。我们将来就可以使用 docker load 命令将这个文件导出为镜像。这两个命令常用于由于环境限制无法在镜像网站拉取镜像的时候。

    img

docker load

  • 功能:从 tar 归档文件中加载镜像。也可以从标准输入 STDIN 中加载!

  • 语法:

    docker load [OPTIONS]
    
  • 别名:

    docker image load
    
  • 参数:

    • –input-i :指定导入的文件,加上该选项就会替代 STDIN。
    • –quiet-q:精简输出信息。
  • 演示:

    如下图:原来本地是没有 nginx 这个镜像的,通过 docker load 从刚才 docker save 形成的 tar 文件中加载镜像!

    img


从标准输入加载镜像可以这么写:

docker load < test_docker_save.tar.gz

docker image prune

  • 功能:删除没有使用过的镜像。

  • 语法:

    docker image prune [OPTINONS]
    
  • 参数:

    • -a-all :删除全部不使用的镜像。
    • –filter :指定过滤条件。
    • -f–force :不提示是否删除。
  • 演示:

    如下图:我的本地有两个镜像:nginx 和 busybox,其中 busybox 镜像被一个容器引用!然后我们通过 docker image prune -a 删除所有未被使用的镜像!因为我们没有加上 -f 选项,就会让我们确认是否删除,输入 y 之后成功将未被使用的 nginx 镜像删除啦!

    img

docker import

这个命令暂时没法讲,我们在讲解 docker 容器命令的时候需要和 docker export 命令一起讲。

docker build

这个命令也没法讲,我们在讲镜像制作的时候讲解!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/541586.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【fastapi】搭建第一个fastapi后端项目

本篇文章介绍一下fastapi后端项目的搭建。其实没有什么好说的&#xff0c;按照官方教程来即可&#xff1a;https://fastapi.tiangolo.com/zh/ 安装依赖 这也是我觉得python项目的槽点之一。所有依赖都安装在本地&#xff0c;一旦在别人电脑上编写项目就又要安装一遍。很扯淡。…

mysql搭建主从

mysql搭建主从: 1:拉取mysql镜像 docker pull mysql2:创建主从对应目录 3:建立一个简易的mysql docker run -it --name mytest -e MYSQL_ROOT_PASSWORD123 -d mysql4:进入这个简易的mysql;从中获取my.cnf文件 docker exec -it mytest bash5:从容器中将my.cnf拷贝到 /3306/c…

ADC的认识

ADC介绍 Q:ADC是什么&#xff1f; A&#xff1a;全称&#xff1a;Analog-to-Digital Converter&#xff0c;指模拟/数字转换器 ADC的性能指标 量程&#xff1a;能测量的电压范围分辨率&#xff1a;ADC能辨别的最小模拟量&#xff0c;通常以输出二进制数的位数表示&#xf…

康耐视visionpro-CogBlobTool工具操作详细说明

CogBlobTool功能说明: 通过设置灰度值提取感兴趣区域,并分析所提取区域的面积、长宽等参数。 Cog BlobTool操作说明: .打开工具栏,双击或点击鼠标拖拽添加CogBlobTool工具 ②.添加输入图像:单击鼠标右键“链接到”或以连线拖拽的方式选择相应输入源 ③.极性: “白底黑点…

搭建基于Hexo的个人博客,以及git相关命令

全文写完之后的总结 测试命令 hexo clean hexo g hexo s 上传到服务器命令 hexo clean hexo g hexo d 上传到服务器&#xff08;如果上一个命令用不了&#xff09;&#xff0c;也要先hexo clean,hexo g git init git add . git commit -m "first commit" git p…

vscode配置c\c++及美化

文章目录 vscode配置c\c及美化1.安装vscode2.汉化3.安装c\c插件4.安装mingw5.配置mingw6. 运行c代码6.1 创建代码目录6.2 设置文件配置6.3 创建可执行任务&#xff1a;task.json6.4 编译执行6.5 再写其他代码6.6 运行多个c文件 7. 运行c文件8.调式代码8.1 创建launch.json8.2 修…

jenkins下载安装(mac)

下载官网 具体 直接命令安装 Sample commands: Install the latest LTS version: brew install jenkins-ltsStart the Jenkins service: brew services start jenkins-ltsRestart the Jenkins service: brew services restart jenkins-ltsUpdate the Jenkins version: brew u…

Requests,一个强大的 Python 库

Requests&#xff0c;一个强大的 Python 库 ​ 一. 介绍 在当今的互联网时代&#xff0c;网络数据的获取和处理变得尤为重要。无论是数据科学家获取数据集&#xff0c;还是开发者与外部API进行交互&#xff0c;都需要一个强大且易于使用的HTTP库来帮助完成这些任务。这就是r…

2024年认证杯数学建模挑战赛C题全解析

2024年认证杯C题的已经完成啦&#xff0c;包括参考论文&#xff0c;模型代码&#xff0c;分享给大家&#xff5e; 问题分析 对于这些问题&#xff0c;我们首先需要确定影响日光辐射降低效应的关键参数&#xff0c;例如海盐气溶胶的浓度、粒子大小、分布以及喷洒高度和范围。同…

英特尔、联想等服务器曝出难以修复的漏洞

文章目录 前言一、漏洞潜伏六年,服务器供应链安全堪忧二、漏洞广泛存在但难以修复前言 近日,英特尔、联想等多个厂商销售的服务器硬件曝出一个难以修复的远程可利用漏洞。该漏洞属于供应链漏洞,源自一个被多家服务器厂商整合到产品中的开源软件包——Lighttpd。 Lighttpd是…

【C++算法竞赛 · 图论】图的存储

前言 图的存储 邻接矩阵 方法 复杂度 应用 例题 题解 邻接表 方法 复杂度 应用 前言 上一篇文章中&#xff08;【C算法竞赛 图论】图论基础&#xff09;&#xff0c;介绍了图论相关的概念和一种图的存储的方法&#xff0c;这篇文章将会介绍剩下的两种方法&#xff…

elasticSearch从零整合springboot项目实操

type会被弃用 &#xff0c;就是说之后的elasticSearch中只会存在 索引&#xff08;indices&#xff09; 和 一行&#xff08;document&#xff09; 和字段&#xff08;fields&#xff09; elasticSearch 和solr的区别最大的就是 es对应的 是 json的格式 。 solr有xml和josn等…

OpenHarmony实例应用:【常用组件和容器低代码】

介绍 本篇Codelab是基于ArkTS语言的低代码开发方式实现的一个简单实例。具体实现功能如下&#xff1a; 创建一个低代码工程。通过拖拽的方式实现任务列表和任务信息界面的界面布局。在UI编辑界面实现数据动态渲染和事件的绑定。 最终实现效果如下&#xff1a; 相关概念 低代…

【opencv】示例-points_classifier.cpp 使用不同机器学习算法在二维空间中对点集进行分类...

#include "opencv2/core.hpp" // 包含OpenCV核心功能的文件 #include "opencv2/imgproc.hpp" // 包含OpenCV图像处理功能的文件 #include "opencv2/ml.hpp" // 包含OpenCV机器学习模块的文件 #include "opencv2/highgui.hpp" // 包含O…

【MIT6.S081】Lab3: page tables(详细解答版)

实验内容网址&#xff1a;https://xv6.dgs.zone/labs/requirements/lab3.html 本实验的代码分支&#xff1a;https://gitee.com/dragonlalala/xv6-labs-2020/tree/pgtbl2/ Print a page table 关键点&#xff1a;递归、三级页表 思路&#xff1a; 用上图来解释三级页表的原理最…

RISC-V技术变革:一颗芯片,CPU与GPU合二为一

一颗万能的RISC-V芯片: 将CPU和GPU整合到一个核中 X-Silicon 推出创新的 RISC-V 芯片架构,将 CPU、矢量功能和 GPU 加速无缝集成。这种开源混合芯片专为多功能工作负载而设计,包括人工智能,旨在通过高效处理提升性能。 革命性的 CPU/GPU 混合处理器全新的 RISC-V CPU/GPU 混…

【前端面试3+1】12 toktn验证过程、面向对象特性、webpack和vite的区别、【字符串中的第一个唯一字符】

一、token验证过程 用户登录&#xff1a;用户提供用户名和密码进行登录。服务器验证&#xff1a;服务器接收到用户提供的用户名和密码&#xff0c;进行验证。生成token&#xff1a;如果用户名和密码验证通过&#xff0c;服务器会生成一个token&#xff0c;通常包含一些加密的信…

从 iPhone 上的短信中恢复已删除的图片的可靠方法

您可能在浏览消息聊天时不小心删除了一些文本和照片。事实上&#xff0c;如果这些消息对你来说意义重大&#xff0c;那对你来说可能会很麻烦。当发生意外情况时&#xff0c;您可能不想恢复整个聊天&#xff0c;而是恢复其中的附件。 好了&#xff0c;这篇文章主要是讲如何灵活…

关于故障诊断的一些事-答知乎问(四)

利用深度学习模型进行机械故障诊断技术的难点是什么&#xff1f; 除了严格的可解释性之外&#xff0c;还有 1.很多机械设备经常运行在转速多变、载荷冲击、噪声淹没的恶劣工作环境之下&#xff0c;振动监测信号内包含了多种故障频率成分和背景噪声信息&#xff0c;是一种非常…

【C语言基础】:预处理详解(一)

文章目录 一、预定义符号二、#define定义常量三、#define定义宏四、带有副作用的宏参数五、宏替换的规则 一、预定义符号 在C语言中设置了许多的预定义符号&#xff0c;这些预定义符号是可以直接使用的&#xff0c;预定义符号也是在预处理阶段进行处理的。 常见的预定义符号&…