Docker--Docker Image(镜像)

什么是Docker Image?

Docker镜像(Docker Image)是Docker容器技术的核心组件之一,它包含了运行应用程序所需的所有依赖、库、代码、运行时环境以及配置文件等。
简单来说,Docker镜像是一个轻量级、可执行的软件包,它封装了应用程序及其运行环境,使得应用程序可以在任何支持Docker的平台上以相同的方式运行。

关键特性:

  • 层次化结构:Docker镜像采用层次化结构,每个镜像都是基于一个或多个基础镜像(父镜像)构建的。通过添加新的层次(如文件、配置、依赖等),可以创建新的镜像。这种层次化结构使得镜像的共享和重用变得高效。
  • 只读性:Docker镜像在构建完成后是只读的。当运行一个容器时,Docker会在镜像的基础上创建一个可写的层(称为容器层),用于存储运行时的数据更改。这种设计保证了镜像的不可变性,使得镜像的分发和部署更加可靠和安全。
  • 构建与分发:Docker镜像可以通过Dockerfile文件来定义和构建。Dockerfile包含了一系列指令,用于指定镜像的构建步骤和依赖关系。构建完成后,镜像可以被推送到Docker镜像仓库(如Docker Hub)进行分发和共享。
  • 运行容器:Docker容器是Docker镜像的运行实例。通过运行Docker镜像,可以创建一个或多个容器,这些容器在隔离的环境中运行应用程序。容器之间以及容器与宿主机之间通过特定的机制进行通信和资源管理。
  • 版本控制:Docker镜像支持版本控制,可以通过标签(Tag)来标识不同的版本。例如,一个镜像可以有多个标签,如latest、1.0、2.0等,用于表示不同的版本或发布阶段。

Docker Image 常用命令

docker rmi

删除一个或多个在当前服务器的镜像;如果镜像有多个tag,带上tag可以对具体tag的镜像进行删除;

使用 docker rmi [OPTIONS] IMAGE [IMAGE…]
别名 docker image remove docker image rm

参数:

OptionDescription
-f, --force强制对镜像进行删除
–no-prune不删除未标记的父项

例子:

docker images

在这里插入图片描述
在这里插入图片描述
由于该镜像ID被打上了多个标签,所以没有办法通过ID直接删除;

只能通过镜像名称[taged]来进行删除:
在这里插入图片描述

如果镜像有对应容器在运行,那么无论通过镜像ID还是名称[taged]的方式都是无法删除的,必须先删除已经存在的容器(无论是否正在运行的还是退出的):

docker ps
docker rmi nginx:1.23.4
docker rmi a7be6198544f

在这里插入图片描述

docker ps -a | grep nginx:1.23.4

在这里插入图片描述
逐个删除已经删除的容器:
在这里插入图片描述

docker rmi nginx:1.23.4

在这里插入图片描述
最终删除掉镜像

docker save

将一个或多个镜像保存到tar文档中(默认为STDOUT);

用法 docker save [OPTIONS] IMAGE [IMAGE…]
别名 docker image save

参数 :

OptionDescription
-o, --output写到一个文件中,替代标准输出流STDOUT

例子:
将镜像保存到归档文件中:
在这里插入图片描述
准备将busybox:latest 镜像保存到该目录下;

docker save -o busybox0.1.tar busybox:latest

在这里插入图片描述
保存之后大小与原本镜像大小基本一致;

docker load

从tar文档中加载一个镜像

用法: docker image load [OPTIONS]
别名 docker image load

参数

OptionDescription
-i, --input读取tar文档
-q, --quiet抑制负载输出

例子:

docker load -i busybox0.1.tar

在这里插入图片描述

docker image inspect

对镜像陈列具体的信息

用法:docker image inspect [OPTIONS] IMAGE [IMAGE…]

参数:

OptionDescription
-f, --format根据具体格式输出:‘json’: Print in JSON 格式 ;

docker image history

展示镜像的历史情况

用法: docker image history [OPTIONS] IMAGE
别名 docker history

参数:

OptionDescription
-H, --human以人可读格式打印大小和日期
–no-trunc不截断输出
-q, --quiet只展示镜像ID
–format根据具体格式输出

例子:

docker history nginx:1.24.0

在这里插入图片描述

docker import

从tar文档导入内容以创建镜像

用法 docker image import [OPTIONS] file|URL|- [REPOSITORY[:TAG]]
别名 docker image import

参数:

OptionDescription
-c, --change将 Dockerfile 指令应用于创建的镜像
-m, --message为导入的镜像设置提交消息
–platform如果服务器支持多平台,则设置 platform

例子:

docker import busybox0.1.tar ahri/busybox:0.4

在这里插入图片描述

docker image prune

删除不使用的镜像

用法:docker image prune [OPTIONS]

参数:

OptionDescription
-a, --all删除所有未使用的图像,而不仅仅是悬空的图像
–filter提供筛选条件值(例如until=< timestamp >)
-f, --force不提示确认

例子:

docker image prune

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

RabbitMQ的核心组件有哪些?

大家好&#xff0c;我是锋哥。今天分享关于【RabbitMQ的核心组件有哪些&#xff1f;】面试题。希望对大家有帮助&#xff1b; RabbitMQ的核心组件有哪些&#xff1f; 1000道 互联网大厂Java工程师 精选面试题-Java资源分享网 RabbitMQ是一个开源的消息代理&#xff08;Messag…

[OpenGL] Transform feedback 介绍以及使用示例

一、简介 本文介绍了 OpenGL 中 Transform Feedback 方法的基本概念和代码示例。 二、Transform Feedback 介绍 1. Transform Feedback 简介 根据 OpenGL-wiki&#xff0c;Transform Feedback 是捕获由顶点处理步骤&#xff08;vertex shader 和 geometry shader&#xff0…

【Linux】—简单实现一个shell(myshell)

大家好呀&#xff0c;我是残念&#xff0c;希望在你看完之后&#xff0c;能对你有所帮助&#xff0c;有什么不足请指正&#xff01;共同学习交流哦&#xff01; 本文由&#xff1a;残念ing原创CSDN首发&#xff0c;如需要转载请通知 个人主页&#xff1a;残念ing-CSDN博客&…

什么是Apache日志?为什么Apache日志分析很重要?

Apache是全球最受欢迎的Web服务器软件&#xff0c;支持约30.2%的所有活跃网站。凭借其可靠性、灵活性和强大的功能&#xff0c;Apache数十年来一直是互联网的中坚力量。 一、Apache Web服务器的工作原理 Apache Web服务器的工作原理如下&#xff1a; 接收HTTP请求&#xff1…

如何使用 uni-app 构建直播应用程序?

使用uni-app构建直播应用程序涉及前端和后端的开发&#xff0c;以及音视频处理技术的选择。下面我将概述一个典型的直播应用架构&#xff0c;并详细说明如何在uni-app中实现关键功能。 直播应用架构 前端&#xff08;uni-app&#xff09;&#xff1a;负责用户界面展示、互动逻…

Spring Security 6 系列之一 - 开篇入门

之所以想写这一系列&#xff0c;是因为之前工作过程中使用Spring Security&#xff0c;但当时基于spring-boot 2.3.x&#xff0c;其默认的Spring Security是5.3.x。之后新项目升级到了spring-boot 3.3.0&#xff0c;结果一看Spring Security也升级为6.3.0&#xff0c;关键是其风…

好用的工单系统,适用于各种场景

项目名称 smart 工单系统 项目简介 Smart-API 工单系统是基于 Go 语言开发的后台管理系统&#xff0c;前后端分离&#xff0c;采用 Gin 框架作为后端&#xff0c;Vue.js 和 Element UI 作为前端。系统旨在实现对工单管理的高效处理&#xff0c;支持任务分配、执行监控、…

docker 搭建自动唤醒UpSnap工具

1、拉取阿里UpSnap镜像 docker pull crpi-k5k93ldwfc7o75ip.cn-hangzhou.personal.cr.aliyuncs.com/upsnap/upsnap:4 2、创建docker-compose.yml文件&#xff0c;进行配置&#xff1a; version: "3" services:upsnap:container_name: upsnapimage: crpi-k5k93ldwf…

7.Linux - 安装MySQL、Tomcat、Nginx、RabbitMQ、Redis

Linux - 安装MySQL 文章目录 Linux - 安装MySQL一、MySQL 5.71.1 安装1.2 配置 二、MySQL 8.x2.1 安装2.2 配置 三、Tomcat安装3.1 安装 JDK3.2 Tomcat&#xff08;整的不行&#xff09; 四、Nginx4.1 安装 五、RabbitMQ5.1 安装 六、Redis6.1 安装 一、MySQL 5.7 1.1 安装 我…

python | linux | ModuleNotFoundError: No module named ‘WFlib‘ |找不到模块

问题&#xff1a; (base) beautyby521-7:~/Website-Fingerprinting-Library-master$ bash scripts/NetCLR.sh Traceback (most recent call last):File "/home/beauty/Website-Fingerprinting-Library-master/exp/pretrain.py", line 8, in <module>from WFli…

Maven 打包(system jar 和微服务父子项目)

jar包使用system 请务必减少使用system的频率&#xff0c;除非这个jar包中央仓库中没有 在文末的build标签下写入 < includeSystemScope >true</ includeSystemScope>即可 <?xml version"1.0" encoding"UTF-8"?> <project xmlns&…

AI Agent:重塑业务流程自动化的未来力量(2/30)

《AI Agent&#xff1a;重塑业务流程自动化的未来力量》 摘要&#xff1a;整体思路是先介绍 AI Agent 的基本情况&#xff0c;再深入阐述其实现业务流程自动化的方法和在不同领域的应用&#xff0c;接着分析其价值和面临的挑战&#xff0c;最后得出结论&#xff0c;为读者全面…

深入解析:选择最适合你的Whisper语音识别模型

在语音识别领域&#xff0c;Whisper系列模型因其卓越的性能和多语言支持而备受青睐。今天&#xff0c;我们将详细解析三种不同的Whisper模型Whisper-large-v3、Belle-whisper-large-v3-zh以及Whisper-large-v3-turbo&#xff0c;帮助你根据具体需求选择最合适的版本。 一、Whi…

【微服务】SpringBoot 国际化适配方案使用详解

目录 一、前言 二、国际化概述 2.1 微服务中的国际化是什么 2.1.1 国际化概念 2.1.2 为什么需要国际化 2.2 微服务中常用的国际化方法 2.2.1 资源文件分离 2.2.2 使用国际化框架 2.2.3 使用动态模板 2.2.4 使用数据库存储 2.2.5 API设计结合配置中心 三、SpringBoot…

海量数据库使用操作

海量数据库-vastbase G100使用操作 文章目录 海量数据库-vastbase G100使用操作使用vsql本地连接数据库创建数据库功能描述 创建表管理表向表中插入数据更新表中数据 查看数据删除表中数据示例查看帮助信息查看数据库列举表查看表结构列举schema查看索引切换数据库 总结 使用vs…

什么是运算符重载?如何在 C++ 中进行运算符重载?运算符重载在面向对象编程中的好处是什么?

1) 什么是运算符重载&#xff1f;如何在 C 中进行运算符重载&#xff1f; 运算符重载是指为类&#xff08;或结构体&#xff09;中的运算符赋予新的意义&#xff0c;使其能够用于自定义类型&#xff08;如类对象&#xff09;的操作。C 允许用户通过定义特定的成员函数或友元函…

机器学习之 K-Means

1. 什么是 K-Means&#xff1f; K-Means 是一种常用的无监督学习算法&#xff0c;主要用于聚类分析任务。其目标是将数据集划分为 K 个不同的簇&#xff0c;使得同一簇内的数据点之间的相似性更高&#xff0c;而不同簇的数据点差异更大。K-Means 算法使用了一个简单而有效的迭…

上传文件时获取音视频文件时长和文本文件字数

获取音视频文件时长和文本文件字数 一、获取音视频文件时长二、计算文本文件字数 最近有个需求&#xff0c;要求上传文件时获取音视频文件时长和文本文件字数&#x1f436;。 发现这样的冷门资料不多&#xff0c;特做个记录。本文忽略文件上传功能&#xff0c;只封装核心的工具…

【AIGC】与模型对话:理解与预防ChatGPT中的常见误解

博客主页&#xff1a; [小ᶻ☡꙳ᵃⁱᵍᶜ꙳] 本文专栏: AIGC | ChatGPT 文章目录 &#x1f4af;前言&#x1f4af;模型的工作原理和用户期望差异人工智能模型的基本工作原理认知上的局限与误解用户期望与模型实际能力的差距精确理解用户意图的重要性实际应用中的建议 &…

AI视频配音技术创新应用与商业机遇

随着人工智能技术的飞速发展&#xff0c;AI视频配音技术已经成为内容创作者和营销人员的新宠。这项技术不仅能够提升视频内容的吸引力&#xff0c;还能为特定行业带来创新的解决方案。本文将探讨AI视频配音技术的应用场景&#xff0c;并讨论如何合法合规地利用这一技术。 AI视频…