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 removedocker image rm
参数:
Option Description -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
参数 :
Option Description -o, --output 写到一个文件中,替代标准输出流STDOUT
例子:
将镜像保存到归档文件中:

准备将busybox:latest 镜像保存到该目录下;
docker save -o busybox0.1.tar busybox:latest

保存之后大小与原本镜像大小基本一致;
docker load
从tar文档中加载一个镜像
用法: docker image load [OPTIONS]
别名 docker image load
参数
Option Description -i, --input 读取tar文档 -q, --quiet 抑制负载输出
例子:
docker load -i busybox0.1.tar

docker image inspect
对镜像陈列具体的信息
用法:docker image inspect [OPTIONS] IMAGE [IMAGE…]
参数:
Option Description -f, --format 根据具体格式输出:‘json’: Print in JSON 格式 ;
docker image history
展示镜像的历史情况
用法: docker image history [OPTIONS] IMAGE
别名 docker history
参数:
Option Description -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
参数:
Option Description -c, --change 将 Dockerfile 指令应用于创建的镜像 -m, --message 为导入的镜像设置提交消息 –platform 如果服务器支持多平台,则设置 platform
例子:
docker import busybox0.1.tar ahri/busybox:0.4

docker image prune
删除不使用的镜像
用法:docker image prune [OPTIONS]
参数:
Option Description -a, --all 删除所有未使用的图像,而不仅仅是悬空的图像 –filter 提供筛选条件值(例如until=< timestamp >) -f, --force 不提示确认
例子:
docker image prune

相关文章:
Docker--Docker Image(镜像)
什么是Docker Image? Docker镜像(Docker Image)是Docker容器技术的核心组件之一,它包含了运行应用程序所需的所有依赖、库、代码、运行时环境以及配置文件等。 简单来说,Docker镜像是一个轻量级、可执行的软件包&…...
C++ 中的序列化和反序列化
一、C 中的序列化和反序列化 (一)基本概念 在 C 中,序列化是将对象转换为字节流的过程,反序列化则是从字节流重新构建对象的过程。这对于存储对象状态到文件、网络传输等场景非常有用。 (二)简单的序列化…...
我的Github学生认证申请过程
先说结论:很简单。 学生认证链接:GitHub Education GitHub 1. 首先你得绑定edu邮箱。这个应该没什么问题,Github也会提示。 2. 我是在学校里面、使用流量而非WiFi申请的,听说地理位置很重要,该给的权限(…...
信奥题解:勾股数计算中的浮点数精度问题
来源:GESP C++ 二级模拟题 本文给出官方参考答案的详细解析,包括每一部分的功能和关键点,以及与浮点数精度相关的问题的分析。 题目描述 勾股数是很有趣的数学概念。如果三个正整数a 、b 、c ,满足 a 2 + b 2 = c 2 a^2 + b^2 = c^2 a2+b2=c2 ,而且1 ≤ a ≤ b ≤ c ,…...
重生之我在学Vue--第2天 Vue 3 Composition API 与响应式系统
重生之我在学Vue–第2天 Vue 3 Composition API 与响应式系统 文章目录 重生之我在学Vue--第2天 Vue 3 Composition API 与响应式系统前言一、Composition API 核心概念1.1 什么是 Composition API?1.2 Composition API 的核心工具1.3 基础用法示例 二、响应式系统2…...
【AI知识】逻辑回归介绍+ 做二分类任务的实例(代码可视化)
1. 分类的基本概念 在机器学习的有监督学习中,分类一种常见任务,它的目标是将输入数据分类到预定的类别中。具体来说: 分类任务的常见应用: 垃圾邮件分类:判断一封电子邮件是否是垃圾邮件 。 医学诊断:…...
Mysql 笔记2 emp dept HRs
-- 注意事项 -- 1.给数据库和表起名字时尽量选择全小写 -- 2.作为筛选条件的字符串是否区分大小写看设置的校对规则utf8_bin 区分 drop database if exists hrs; create database hrs default charset utf8 collate utf8_general_ci;use hrs; drop table if exists tb_emp; dro…...
MySQL和Oracle的区别
MySQL和Oracle的区别 MySQL是轻量型数据库,并且免费,没有服务恢复数据。 Oracle是重量型数据库,收费,Oracle公司对Oracle数据库有任何服务。 1.对事务的提交 MySQL默认是自动提交,而Oracle默认不自动提交࿰…...
实验12 C语言连接和操作MySQL数据库
一、安装MySQL 1、使用包管理器安装MySQL sudo apt update sudo apt install mysql-server2、启动MySQL服务: sudo systemctl start mysql3、检查MySQL服务状态: sudo systemctl status mysql二、安装MySQL开发库 sudo apt-get install libmysqlcli…...
09篇--图片的水印添加(掩膜的运用)
如何添加水印? 添加水印其实可以理解为将一张图片中的某个物体或者图案提取出来,然后叠加到另一张图片上。具体的操作思想是通过将原始图片转换成灰度图,并进行二值化处理,去除背景部分,得到一个类似掩膜的图像。然后…...
sql-labs(21-25)
第21关 第一步 可以发现cookie是经过64位加密的 我们试试在这里注入 选择给他编码 发现可以成功注入 爆出表名 爆出字段 爆出数据 第22关 跟二十一关一模一样 闭合换成" 第 23 关 第二十三关重新回到get请求,会发现输入单引号报错,但是注释符…...
CTF知识集-命令执行
CTF知识集-命令执行 写在开头可能会用到的提醒 ;可以用%0a来替换 是shell_exec的缩写 ls | tee 1 把ls的输出内容存入1这个文件 shell查看文件的几种方式,tac | more | less | tail | sort | tac | cat | head | od | expand 针对flag 可以用grep { flag.php来…...
基于米尔全志T527开发板的OpenCV进行手势识别方案
本文将介绍基于米尔电子MYD-LT527开发板(米尔基于全志T527开发板)的OpenCV手势识别方案测试。 摘自优秀创作者-小火苗 米尔基于全志T527开发板 一、软件环境安装 1.安装OpenCV sudo apt-get install libopencv-dev python3-opencv 2.安装pip sudo apt…...
Htpp中web通讯发送post(上传文件)、get请求
一、正常发送post请求 1、引入pom文件 <dependency><groupId>org.apache.httpcomponents</groupId><artifactId>httpclient</artifactId><version>4.5</version></dependency>2、这个是发送至正常的post、get请求 import org…...
【论文阅读笔记】HunyuanVideo: A Systematic Framework For Large Video Generative Models
HunyuanVideo: A Systematic Framework For Large Video Generative Models 前言引言Overview数据预处理数据过滤数据注释 模型架构设计3D Variational Auto-encoder Designtraininginference 统一的图像和视频生成架构Text encoderModel ScalingImage model scaling lawvideo …...
SpringBoot的事务钩子函数
如果需要在A方法执行完成之后做一个不影响主方法运行的动作B,我们需要判断这个A方法是否存在事务,并且使用异步执行动作B; import org.springframework.transaction.support.TransactionSynchronization; import org.springframework.transa…...
源码安装PHP-7.2.19
源码安装PHP-7.2.19 1.解压 tar -xjvf php-7.2.19.tar.bz2.编译 -prefix安装路径 cd php-7.2.19 ./configure --prefix/home/work/study 成功输出 3.make(构建) makemake testmake installlinux对php操作的一些命令 # 进入到php [rootvdb1 study]# cd php/ [rootvdb1 st…...
UE5制作伤害浮动数字
效果演示: 首先创建一个控件UI 添加画布和文本 文本设置样式 添加伤害浮动动画,根据自己喜好调整,我设置了缩放和不透明度 添加绑定 转到事件图表,事件构造设置动画 创建actor蓝图类 添加widget 获取位置 设置位移 创建一个被击中…...
学习日志024--opencv中处理轮廓的函数
目录 前言 一、 梯度处理的sobel算子函数 功能 参数 返回值 代码演示 二、梯度处理拉普拉斯算子 功能 参数 返回值 代码演示 三、Canny算子 功能 参数 返回值 代码演示 四、findContours函数与drawContours函数 功能 参数 返回值 代码演示 …...
(2024年最新)Linux(Ubuntu) 中配置静态IP(包含解决每次重启后配置文件失效问题)
Hello! 亲爱的小伙伴们,大家好呀(Smile~)!我是Huazzi,欢迎观看本篇博客,接下来让我们一起来学习一下Ubuntu 中如何配置静态IP吧!祝你有所收获! 提前对Linux有所了解的小伙伴应该知道…...
基于Simulink的自抗扰控制(ADRC)在OBC前级的应用
手把手教你学Simulink——基于Simulink的自抗扰控制(ADRC)在OBC前级的应用 (附:OBC前级拓扑剖析+ADRC抗扰原理+TD/ESO/NLSEF算法推导+Simulink全模型搭建+动态响应/谐波抑制对比+实机部署指南) 摘要 车载充电机(OBC)前级作为交流-直流(AC-DC)整流核心,需将电网…...
c++阿克曼函数详解
不爱吃饭的蓝胖子要开始整活了!!!大家好,我是蓝胖子!好久不见,倍感思念!今天带来的是--C阿克曼函数~~希望你能看到最后,有惊喜哈!正片开始 ——————————————…...
D3KeyHelper:暗黑3效率提升工具的全方位应用指南
D3KeyHelper:暗黑3效率提升工具的全方位应用指南 【免费下载链接】D3keyHelper D3KeyHelper是一个有图形界面,可自定义配置的暗黑3鼠标宏工具。 项目地址: https://gitcode.com/gh_mirrors/d3/D3keyHelper D3KeyHelper是一款开源的暗黑3鼠标宏工具…...
从分类影像到Fragstats输入:搞定景观格局分析前处理的完整避坑指南
景观格局分析前处理全流程:从分类影像到Fragstats输入的实战避坑指南 当你完成遥感影像分类,准备计算景观指数时,是否遇到过Fragstats报错"Invalid input format"?或是发现计算结果与预期不符却找不到原因?本…...
2026年AI就业风口!这5个神仙岗位,高薪低门槛,普通人也能转行!
根据LinkedIn数据,2026年AI相关岗位增长迅猛,其中AI咨询顾问、机器学习工程师、AI产品经理、数据与检索工程师等岗位需求旺盛,且部分岗位对计算机科学学位要求不高。文章详细介绍了这5个岗位的火热原因、转行路径及薪资范围,并给出…...
AI图像增强:让模糊照片重获新生的实用工具
AI图像增强:让模糊照片重获新生的实用工具 【免费下载链接】Real-ESRGAN-GUI Lovely Real-ESRGAN / Real-CUGAN GUI Wrapper 项目地址: https://gitcode.com/gh_mirrors/re/Real-ESRGAN-GUI 在数字时代,我们每个人的手机相册里都藏着珍贵的回忆—…...
告别重复编码:用快马平台ai一键生成node.js效率工具脚本
最近在维护一个Node.js项目时,经常需要统计代码量。手动一个个文件查看实在太费时间,于是尝试用InsCode(快马)平台快速生成了一个代码统计工具,效果出乎意料地好。 需求分析 核心功能:需要递归扫描目录下的所有.js文件ÿ…...
【仅限头部金融科技团队内部流通】FastAPI 2.0 AI流式响应安全加固方案:防内存溢出、防连接耗尽、防Token泄露(含OWASP ASVS v4.0合规对照表)
第一章:FastAPI 2.0 AI流式响应安全加固方案全景概览FastAPI 2.0 引入了对 Server-Sent Events(SSE)与异步生成器的原生增强支持,使大语言模型(LLM)的流式响应(如 token-by-token 输出ÿ…...
python基于Hadoop的就业推荐系统的设计与实现 Spark+Hadoop+Hive 大数据 深度学习 机器学习
前言随着就业市场信息不对称问题日益突出,开发高效的智能就业推荐系统 成为当务之急。本研究基于Hadoop生态系统,设计并实现了一套面向求职者和招聘企业的智能推荐系统。系统采用分布式架构,后端基于Django框架实现业务逻辑处理,前…...
忍者像素绘卷惊艳案例:生成支持CSS Sprite切片的像素角色动作序列图
忍者像素绘卷惊艳案例:生成支持CSS Sprite切片的像素角色动作序列图 1. 像素艺术的新纪元 在游戏开发领域,像素艺术始终保持着独特的魅力。忍者像素绘卷作为一款基于Z-Image-Turbo深度优化的图像生成工具,为开发者带来了革命性的解决方案。…...
