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

在这里插入图片描述

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

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

相关文章

《C++ Primer Plus》学习笔记|第1章 预备知识 (24-12-2更新)

文章目录 1.2.4 1.4 程序创建1.4.2 编译和链接 1.2.4 泛型编程 它允许程序员在编写代码时不指定具体的数据类型&#xff0c;而是使用一种通用的模板来处理多种不同的数据类型。以提高代码的复用性 C模板提供了完成这种任务的机制。 1.4 程序创建 使用文本编辑器编写程序&…

string类函数的手动实现

在上一篇文章中&#xff0c;我们讲解了一些string类的函数&#xff0c;但是对于我们要熟练掌握c是远远不够的&#xff0c;今天&#xff0c;我将手动实现一下这些函数~ 注意&#xff1a;本篇文章中会大量应用复用&#xff0c;这是一种很巧妙的方法 和以往一样&#xff0c;还是…

架构06-分布式共识

零、文章目录 架构06-分布式共识 1、分布式共识 &#xff08;1&#xff09;基本概念 **分布式共识&#xff1a;**在分布式系统中&#xff0c;多个节点之间达成一致的过程。**复杂性来源&#xff1a;**网络的不可靠性和请求的并发性。**应用场景&#xff1a;**如何确保重要数…

USB 声卡全解析:提升音频体验的得力助手

在当今数字化的时代&#xff0c;音频领域的追求愈发多元。无论是热衷聆听高品质音乐的爱好者&#xff0c;还是在专业音频工作中精雕细琢的人士&#xff0c;亦或是在游戏世界里渴望极致音效沉浸的玩家&#xff0c;都始终在寻觅能让音频体验更上一层楼的妙法。而 USB 声卡&#x…

系统--线程互斥

1、相关背景知识 临界资源多线程、多执行流共享的资源,就叫做临界资源临界区每个线程内部,访问临界资源的代码互斥在任何时刻,保证有且只有一个执行流进入临界区,访问临界资源,对临界资源起到保护作用原子性不会被任何调度机制打断的操作,该操作只有两态,要么完成,要么…

【短视频矩阵系统==saas技术开发】

在数字媒体领域&#xff0c;短视频的崛起已不可忽视。对于商业实体而言&#xff0c;掌握如何通过短视频平台有效吸引潜在客户并提高转化率&#xff0c;已成为一项关键课题。本文旨在深入剖析短视频矩阵系统的构成与作用机制&#xff0c;以期为企业提供一套系统化的策略&#xf…

Python语法基础(八)

&#x1f308;个人主页&#xff1a;羽晨同学 &#x1f4ab;个人格言:“成为自己未来的主人~” 异常处理 这一个部分&#xff0c;我们来讲一下异常处理这部分。 异常特点 当程序执行的过程中&#xff0c;我们遇到了异常&#xff0c;而且异常未被处理&#xff0c;那么程序…

burp2

声明&#xff01; 学习视频来自B站up主 **泷羽sec** 有兴趣的师傅可以关注一下&#xff0c;如涉及侵权马上删除文章&#xff0c;笔记只是方便各位师傅的学习和探讨&#xff0c;文章所提到的网站以及内容&#xff0c;只做学习交流&#xff0c;其他均与本人以及泷羽sec团队无关&a…

linux 获取公网流量 tcpdump + python + C++

前言 需求为&#xff0c;统计linux上得上下行公网流量&#xff0c;常规得命令如iftop 、sar、ifstat、nload等只能获取流量得大小&#xff0c;不能区分公私网&#xff0c;所以需要通过抓取网络包并排除私网段才能拿到公网流量。下面提供了一些有效得解决思路&#xff0c;提供了…

React 路由与组件通信:如何实现路由参数、查询参数、state和上下文的使用

&#x1f90d; 前端开发工程师、技术日更博主、已过CET6 &#x1f368; 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 &#x1f560; 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 &#x1f35a; 蓝桥云课签约作者、上架课程《Vue.js 和 E…

爬虫第四篇:Xpath 路径表达式全解析:从网页基础到爬取百度贴吧图片实战

简介&#xff1a;本文围绕 Xpath 路径表达式展开讲解&#xff0c;先是介绍了网页相关基础如 html、css、vue 以及前后端分离的概念与示例&#xff0c;包括各部分的结构、作用及简单代码展示&#xff0c;随后详细阐述了 xml 的节点关系、选取节点、谓语等理论知识&#xff0c;最…

七牛云成功保存但无法显示和访问{“error“:“download token not specified“}

在使用七牛云存储图片时&#xff0c;前端通过链接访问图片时遇到错误&#xff1a; {"error":"download token not specified"} 具体表现为&#xff1a; 后端通过 access_key 和 secret_key 生成了上传和下载的 Token。前端将域名与 res.key 拼接后生成图…

linux下环境变量的使用

文章目录 环境变量一、环境变量的定义与特点二、环境变量的分类三、常用的环境变量四 环境变量相关指令五 c语言获取环境变量接口六 通过代码如何获取环境变量 环境变量 环境变量(environment variables)一般是指在操作系统中用来指定操作系统运行环境的一些参数 一、环境变量…

2-2-18-9 QNX系统架构之文件系统(三)

阅读前言 本文以QNX系统官方的文档英文原版资料为参考&#xff0c;翻译和逐句校对后&#xff0c;对QNX操作系统的相关概念进行了深度整理&#xff0c;旨在帮助想要了解QNX的读者及开发者可以快速阅读&#xff0c;而不必查看晦涩难懂的英文原文&#xff0c;这些文章将会作为一个…

基于 MVC 架构的 SpringBoot 高校行政事务管理系统:设计优化与实现验证

摘 要 身处网络时代&#xff0c;随着网络系统体系发展的不断成熟和完善&#xff0c;人们的生活也随之发生了很大的变化&#xff0c;人们在追求较高物质生活的同时&#xff0c;也在想着如何使自身的精神内涵得到提升&#xff0c;而读书就是人们获得精神享受非常重要的途径。为了…

vue3-Import declaration conflicts with local declaration of dayjs

同步发布于我的网站 &#x1f680; 概述错误描述 原代码报错信息 原因分析解决方案 修改导入语句使用泛型 代码解释总结 概述 在使用 Vue3 和 dayjs 时&#xff0c;可能会遇到一个常见的错误&#xff1a;“Import declaration conflicts with local declaration of ‘dayjs’…

【ubuntu-22.04】ubuntu-22.04搭建openwrt-23.05编译环境操作说明

ubuntu-22.04镜像下载 Index of /releases/22.04.1 安装ubuntu系统 安装openwrt-23.05依赖包 sudo apt update sudo apt install build-essential clang flex bison g++ gawk \ gcc-multilib g++-multilib gettext git libncurses-dev libssl-dev \ python3-distutils pyth…

html+css网页设计马林旅行社移动端4个页面

htmlcss网页设计马林旅行社移动端4个页面 网页作品代码简单&#xff0c;可使用任意HTML辑软件&#xff08;如&#xff1a;Dreamweaver、HBuilder、Vscode 、Sublime 、Webstorm、Text 、Notepad 等任意html编辑软件进行运行及修改编辑等操作&#xff09;。 获取源码 1&#…

【算法】位运算合集

阿华代码&#xff0c;不是逆风&#xff0c;就是我疯 你们的点赞收藏是我前进最大的动力&#xff01;&#xff01; 希望本文内容能够帮助到你&#xff01;&#xff01; 目录 零&#xff1a;位运算基础公式 零&#xff1a;五道基础题 1&#xff1a;位1的个数 2&#xff1a;比…

Android 硬件抽象层(HAL)全解析:智能设备硬件协同揭秘

在Android硬件抽象层&#xff08;HAL&#xff09;开发中&#xff0c;需要掌握许多底层技术&#xff0c;并熟悉如何将硬件驱动与Android系统的上层应用接口相集成。以下是HAL开发中需要掌握的核心技术和一些示例代码&#xff0c;以帮助理解其实现原理&#xff1a; 1. C/C编程和…