Docker入门指南:Docker镜像的使用(二)

🍀 前言

博客地址:

  • CSDN:https://blog.csdn.net/powerbiubiu

👋 简介

在本章节中,将深入探讨 Docker 镜像的概念,以及如何使用镜像的一系列操作。

📖 正文

1 什么是镜像

1.1 Docker镜像的简介

Docker 镜像是 Docker 容器的基础构建块,它包含了一个完整的应用程序运行所需的所有文件、依赖项和配置。可以将 Docker 镜像看作是一个只读的模板或蓝图,用于创建容器实例。Docker 镜像采用了分层的文件系统结构,每一层都是一个独立的文件系统差异。这种分层结构使得镜像的构建、共享和版本控制变得非常高效。每一层都可以包含文件、目录、库、环境变量和运行时配置等。

1.2 Docker镜像的特点
  • 可移植性:Docker 镜像具有跨平台和可移植性。镜像可以在任何支持 Docker 的环境中运行,无论是开发环境、测试环境还是生产环境。
  • 可复制性:Docker 镜像可以被复制、共享和分发,从而简化了应用程序的部署和交付过程。可以将镜像推送到 Docker 仓库中,供他人下载和使用。
  • 轻量性:Docker 镜像采用了分层文件系统的设计,共享相同的底层文件和依赖项。这使得镜像在磁盘上占用的空间较小,并且可以更快地部署和启动。
  • 可扩展性:可以基于已有的镜像构建新的镜像,并通过添加、更新或修改层来定制镜像。这样可以实现镜像的复用和扩展,提高了开发和部署的效率。

2 搜索镜像

docker search [option] keyword
比如,搜索仓库中mysql的镜像,可以使用如下命令:
docker search jenkins
image.png
其中:

  • NAME:镜像的名称;
  • DESCRIPTION:镜像的描述;
  • STARS:用户星标star数;
  • OFFICIAL:是否为官方提供,[ok]表示是。

3 下载镜像

docker pull [IMAGE_NAME]:[TAG]
比如,下载jenkins的镜像,可以通过命令来下载,
docker pull jenkins/jenkins:lts-jdk17
image.png

4 查看镜像

4.1 列出镜像

docker image lsdocker images
通过命令查看刚才的jenkins镜像是否拉取成功,image.png

  • REPOSITORY:来自于哪个仓库;
  • TAG: 镜像的标签信息,比如 lts-jdk17、latest 表示镜像不同的版本;
  • IMAGE ID:镜像的 ID, 如果看到两个 ID 完全相同,那么实际上,它们指向的是同一个镜像,只是标签名称不同;
  • CREATED: 镜像是什么时候创建的;
  • SIZE:镜像的大小,优秀的镜像一般体积都比较小,小哈更倾向于轻量级的 alpine 版本镜像。
4.2 查看镜像详细信息

docker inspect jenkins/jenkins:lts-jdk17
返回一个JSON格式的信息,这里数据比较长,截图只保留部分。
image.png

4.3 查看镜像历史

docker history jenkins/jenkins:lts-jdk17
image.png

5 导出导入镜像

5.1 导出镜像

docker save
比如导出之前下载的Jenkins镜像,docker save -o jenkins.tar jenkins/jenkins:lts-jdk17
执行命令完毕以后,会在当前目录中,生成一个jenkins.tar的文件。
image.png

5.2 导入镜像

docker load
将我们之前导出的jenkins.tar文件复制到另外的机器中。
执行docker load -i jenkins.tar,导入成功后,查看本地镜像就可以看到镜像导入成功了。

6 删除镜像

docker rmi [image] 或者 docker image rm [image]
首先通过docker images查询镜像
image.png
删除方式:

  • 通过镜像名称删除:docker rmi jenkins/jenkins,若,存在多个相同的镜像,需要加上镜像的TAGdocker rmi jenkins/jenkins:lts-jdk17
  • 通过镜像ID删除:docker rmi 41e27c2a574b

这里我们通过镜像ID进行删除,
image.png

7 镜像清理

docker image prune
在使用 Docker 一段时间后,系统一般都会残存一些临时的、没有被使用的镜像文件,可以通过该命令进行清理,在执行完成后返回释放了多少空间。
image.png
参数:

  • -a, --all:删除所有没有用的镜像,而不仅仅是临时文件;
  • -f, --force:强制删除镜像文件,无需弹出提示确认;

✏ 总结

Docker 镜像是 Docker 生态系统的核心组成部分,它使得应用程序的打包、交付和运行变得更加可靠、高效和可管理。通过使用 Docker 镜像,开发者可以轻松地构建和部署各种类型的应用程序,无论是单体应用还是分布式微服务架构。

💖 欢迎我的关注公众号

在这里插入图片描述

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

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

相关文章

C++对象引用作为函数参数

使用对象引用作为函数参数最常见,它不但有指针作为参数的优点,而且比指针作为参数更简单、更方便。 引用方式进行参数传递,形参对象就是实参对象的“别名”,对形参的操作其实就是对实参的操作。 例如:用对象引用进行参数传…

每日Attention学习4——Spatial Attention Module

模块出处 [link] [code] [MM 21] Complementary Trilateral Decoder for Fast and Accurate Salient Object Detection 模块名称 Spatial Attention Module (SAM) 模块作用 空间注意力 模块结构 模块代码 import torch import torch.nn as nn import torch.nn.functional a…

新能源汽车动力电池热管理方案直冷方案原理简介

前言 随着新能源汽车的快速发展,动力电池作为其核心部件之一,对于其性能和寿命具有重要影响。动力电池在工作过程中会产生大量的热量,如果不能有效地进行热管理,将会导致电池温度升高、性能下降甚至损坏。因此,热管理…

论文阅读:Real-Time 3D Model Acquisition

前言: 本文为记录自己在NeRF学习道路的一些笔记,包括对论文以及其代码的思考内容。 小编目前在探索3DAIGC和3D打印交叉研究,在这方面有想法、经验的朋友都可以在b站留言交流下!欢迎! 公众号: AI知识物语…

QT--4

QT 使用定时器完成闹钟 #include "widget.h" #include "ui_widget.h"void Widget::timestart() {timer.start(1000); }void Widget::timeend() {timer.stop(); }Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget) {ui->setupUi(t…

OSPF NSSA区域

原理概述 OSPF 协议定义了 Stub 区域和 Totally Stub 区域这两种特殊的非骨干区域,为的是精简 LSDB 中 LSA 的数量,同时也精简路由表中的路由条目数量,实现优化设备和网络性能的目的。根据定义, Stub 区域或 Totally Stub 区域中是…

C++进阶:map与set简单自实现

目录 1. map与set封装红黑树的方式1.1 大概实现思路1.2 红黑树模板抽象1.3 红黑树的迭代器 2. 红黑树模板的实现2.1 结点结构的定义2.2 红黑树迭代器的实现2.2.1 迭代器的结构2.2.2 迭代器的方法实现 2.3 树结构的定义2.4 红黑树接口实现2.4.1 插入2.4.2 查找2.4.3 迭代器相关 …

HTML4(二)

文章目录 1 开发者文档2 基本标签2.1 排版标签2.2 语义化标签2.3 行内元素与块级元素2.4 文本标签2.5 常用标签补充 3 图片标签4 超链接标签4.1 跳转页面4.2 跳转文件4.3 跳转锚点4.4 唤起指定应用 5 列表5.1 有序列表5.2 无序列表5.3 自定义列表 6 表格6.1 基本结构6.2 表格标…

企业计算机服务器中了rmallox勒索病毒怎么破解,rmallox勒索病毒解密工具步骤

科技技术的发展,为企业的生产运营注入了新的活力,越来越多的企业利用网络走向了数字化办公模式,网络也极大地方便了企业的生产运营,大大提高了企业的生产效率,加快了企业发展的步伐。但是网络数据安全问题一直是企业关…

基于大语言模型的Agent的探索与实践

AI代理是人工智能领域的核心概念之一,它指的是能够在环境中感知、做出决策并采取行动的计算实体。代理可以是简单的,如自动化的网页爬虫,也可以是复杂的,如能够进行战略规划和学习的自主机器人。 AI代理的概念最早源于哲学探讨&am…

ssrf漏洞学习——基础知识

一、SSRF是什么? SSRF(Server-Side Request Forgery:服务器端请求伪造) 是一种由攻击者构造形成由服务端发起请求的一个安全漏洞。 一般情况下,SSRF攻击的目标是从外网无法访问的内部系统。(正是因为它是由服务端发起的,所以它能…

大数据手册(Spark)--Spark 简介

Spark 简介 Apache Spark 是一种用于大数据工作负载的分布式开源处理系统。它使用内存中缓存和优化的查询执行方式,可针对任何规模的数据进行快速分析查询。Apache Spark 提供了简明、一致的 Java、Scala、Python 和 R 应用程序编程接口 (API)。 Apache Spark 是专…

Rust Postgres实例

Rust Postgres介绍 Rust Postgres是一个纯Rust实现的PostgreSQL客户端库,无需依赖任何外部二进制文件2。这意味着它可以轻松集成到你的Rust项目中,提供对PostgreSQL的支持。 特点 高性能:Rust Postgres提供了高性能的数据库交互功能&#…

DI-engine强化学习入门(九)环境包裹器(Env Wrapper)

在强化学习中,环境(Environment)是智能体(Agent)进行学习和互动的场所,它定义了状态空间、动作空间以及奖励机制。Env Wrapper(环境包装器)提供了一种方便的机制来增强或修改原始环境…

揭秘新时代的内容创作:一键生成的AI黑科技

在数字媒体的浪潮下,内容创作已成为连接人与信息的重要桥梁。然而,头条、公众号等平台上的爆文创作,对很多内容创作者来说却是一项挑战。“从选题到找素材,再到成文,”这个过程不仅耗时至少1到2个小时,而且…

【go项目01_学习记录08】

学习记录 1 模板文件1.1 articlesStoreHandler() 使用模板文件1.2 统一模板 1 模板文件 重构 articlesCreateHandler() 和 articlesStoreHandler() 函数,将 HTML 抽离并放置于独立的模板文件中。 1.1 articlesStoreHandler() 使用模板文件 . . . func articlesSt…

产品评测:SmartX 与 Nutanix 超融合在数据库场景下的性能表现

重点内容 SmartX 与 Nutanix 超融合分布式存储设计差异如何影响数据库性能表现。重点测试结论:数据库场景下,SmartX 超融合基于单卷部署的性能,依旧优于 Nutanix 超融合基于多卷部署最佳配置的性能。更多 SmartX、VMware、Nutanix 超融合技术…

高防护皮带机巡检机器人:适应恶劣环境的智能助手

在众多工业领域中,皮带机作为一种重要的物料输送设备,广泛应用于发电厂、煤栈等场所。然而,长期以来,皮带机的巡检工作一直依赖人工,存在着劳动强度大、检测效率低、安全性差等问题。为了解决这些痛点,皮带…

Day05-JavaWeb开发-请求响应(postman工具/参数/案例)分层解耦(三层架构/IOC-DI引入)

1. 请求响应 1.1 概述 1.2 请求-postman工具 1.3 请求-简单参数&实体参数 1.3.1 简单参数 1.3.2 实体参数 1.4 请求-数组集合参数 1.5 请求-日期参数&json参数 1.6 请求-路径参数 1.7 响应-ResponseBody 1.8 响应-案例 2. 分层解耦 2.1 三层架构 2.2 分层解耦(IOC-D…

GitHub Actions 手动触发方式

目录 前言 Star Webhook 手动触发按钮 前言 GitHub Actions 是 Microsoft 收购 GitHub 后推荐的一款 CI/​CD 工具早期可能是处于初级开发阶段,它的功能非常原生,甚至没有直接提供一个手动触发按钮一般的触发方式为代码变动(push 、pull…