【Docker】了解Docker Desktop桌面应用程序,TA是如何管理和运行Docker容器(2)

news2024/11/16 7:37:23

欢迎来到《小5讲堂》,大家好,我是全栈小5。
这是《Docker容器》系列文章,每篇文章将以博主理解的角度展开讲解,
特别是针对知识点的概念进行叙说,大部分文章将会对这些概念进行实际例子验证,以此达到加深对知识点的理解和掌握。
温馨提示:博主能力有限,理解水平有限,若有不对之处望指正!

在这里插入图片描述

目录

  • 前言
  • Volumes(存储)
    • 持久化列表
    • 创建Volume
    • 基本概念
  • 知识点学习
    • 容器间数据
  • 相关文章

前言

接着上篇提到的,Docker Desktop目前是没有官方提供的汉化版,它主要是使用英文界面。
所以,本文还是接着来了解下TA界面的基本内容和信息。

Volumes(存储)

持久化列表

我们可以从下面描述就i可以大概了解到Volumes作用

Containers can use volumes to store data(容器可以使用卷来存储数据)
All data in a container lost noce it is removed.(容器中的所有数据在被删除之前都会丢失)
Containers use volumes to persist data.(容器使用卷来持久化数据)在这里插入图片描述

创建Volume

  • 输入数据持久化名称
    在这里插入图片描述
  • 查看列表
    在这里插入图片描述
  • 关联容器

docker run -d -v test_volume_data:/app/data mycorehub

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
自动生成了一个容器,并且在对应目录下有一个文件夹app/data
在这里插入图片描述
在这里插入图片描述

  • 添加数据
    在这里插入图片描述
  • Volume界面
    会自动同步显示在Volume对应的Data里,所以,即时容器被移除,文件还会存在
    在这里插入图片描述

基本概念

Volumes 是用于管理 Docker 容器的持久化数据存储。
在 Docker 中,容器是临时性的,当容器重新启动或销毁时,容器内部的数据也会丢失。
但是,在某些情况下,我们需要保留容器中的数据,以便下一次启动容器时能够继续使用。

Volumes 允许将主机文件系统中的目录或文件与容器内的目录或文件进行关联。
这样,无论容器是否重新启动或销毁,与之关联的数据都会被保留。
通过 Docker Desktop 的图形界面或命令行工具,可以轻松创建和管理这些卷。
这为我们开发人员和运维人员提供了方便的方法来管理持久化数据,并简化了与容器数据相关的操作。

值得注意的是,Docker Volume 是一种独立于容器的实体,并可以在多个容器之间共享和重复使用
这使得数据在容器之间的移动和共享变得非常简单和灵活。

知识点学习

容器间数据

Persist your data between containers(在容器间保持数据,3分钟上手)
1、Container data is isolated from your local folders
在这里插入图片描述

Docker isolates all content, code, and data in a container from your local filesystem. This means, that when you delete a container within Docker Desktop, all the content within it is deleted.
Sometimes you may want to persist data that a container generated. This is when you can use volumes.

Docker将容器中的所有内容、代码和数据与本地文件系统隔离开来。这意味着,当您删除Docker Desktop中的容器时,其中的所有内容都会被删除。
有时,您可能希望持久化容器生成的数据。此时您可以使用卷。

2、Get the sample application
在这里插入图片描述

For this, you will be reusing the repository at https://github.com/docker/multi-container-app⁠.
git clone https://github.com/docker/multi-container-app
为此,您将在重新使用存储库

3、How volumes work在这里插入图片描述

If you want to persist data even after a container is deleted, you can use a volume. A volume is a location in your local filesystem, managed by Docker.
如果要在删除容器后仍保留数据,可以使用卷。卷是本地文件系统中的一个位置,由Docker管理。

4、Adding volumes to Compose
在这里插入图片描述

To add a volume to this project, simply go to the compose.yaml file and uncomment the following lines:

todo-database:
    # ...
    volumes:
      - database:/data/db
                      
# ...
volumes:
  database:

Digging deeper
The volumes element that is nested in todo-database tells Compose to mount the volume named database to /data/db in the container for the todo-database service.
The top-level volumes element defines and configures a volume named database that can be used by any of the services in the Compose file.

要向该项目添加卷,只需转到compose.yaml文件并取消注释以下行:
挖得更深
嵌套在todo-database中的volumes元素告诉Compose将名为database的卷装载到todo-data服务的容器中的/data/db。
顶级卷元素定义并配置名为卷的数据库,Compose文件中的任何服务都可以使用该数据库。

5、Delete adn restart
在这里插入图片描述

Now, no matter how often you delete and restart the container, your data is persisted and accessible to any container on your system by mounting the database volume. Docker will check for a volume and create one if there is none present.
现在,无论您多久删除和重新启动一次容器,您的数据都是持久的,并且可以通过装载数据库卷对系统上的任何容器进行访问。Docker将检查一个卷,如果没有,则创建一个卷。

相关文章

【Docker】linux、nginx、容器镜像三者基本概念
【Docker】在Windows下使用Docker Desktop创建nginx容器并访问默认网站
【Docker】在Windows操作系统上安装Docker
【Docker】了解Docker Desktop桌面应用程序,TA是如何管理和运行Docker容器(1)
【Docker】使用VS创建、运行、打包、部署.net core 6.0 webapi

Docker学习文档中心:https://docs.docker.com/

总结:温故而知新,不同阶段重温知识点,会有不一样的认识和理解,博主将巩固一遍知识点,并以实践方式和大家分享,若能有所帮助和收获,这将是博主最大的创作动力和荣幸。也期待认识更多优秀新老博主。

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

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

相关文章

【Spring】Spring事务和事务传播机制

文章目录 什么是事务事务的操作Spring 中事务的实现Spring编程式事务Spring 声明式事务 TransactionalTransactional作用Transactional 详解rollbackFor事务隔离级别Spring 事务隔离级别Spring 事务传播机制 什么是事务 事务(Transaction)是一个程序中一…

最新的 Ivanti SSRF 零日漏洞正在被大规模利用

Bleeping Computer 网站消息,安全研究员发现 Ivanti Connect Secure 和 Ivanti Policy Secure 服务器端请求伪造 (SSRF) 漏洞(CVE-2024-21893 )正在被多个威胁攻击者大规模利用。 2024 年 1 月 31 日,Ivanti 首次就网关 SAML 组件…

Vivado-IP核

Vivado-IP核 主程序 timescale 1ns / 1ps ////module ip_clk_wiz(input sys_clk,input sys_rst_n,output clk_out1,output clk_out2,output clk_out3,output clk_out4,output locked);clk_wiz_0 instance_name(// Clock out ports.clk_out1(clk_out1), // output clk_out…

java设计模式- 建造者模式

一 需求以及实现方式 1.1 需求描述 我们要创建一个表示汽车的复杂对象,汽车包含发动机、轮胎和座椅等部分。用传统方式创建,代码如下 1.2 传统实现方式 1.抽象类 public abstract class BuildCarAbstaract {//引擎public abstract void buildEng…

OpenGL 入门(十)— 光照系统

光照系统 前言平行光点光源衰减衰减的实现 聚光平滑/软化边缘 多光源 前言 介绍三种光源类型:平行光(Directional Light)、点光源(Point Light)、聚光灯(Spot Light)。 平行光(Directional Light):只有一…

【力扣】整数反转,判断是否溢出的数学解法

整数反转原题地址 方法一:数学 反转整数 如何反转一个整数呢?考虑整数操作的3个技巧: xmod10可以取出x的最低位,如x123,xmod103。x/10可以去掉x的最低位,如x123,x/10,x12。xx*10…

C# CAD交互界面-自定义面板集(四)

运行环境 vs2022 c# cad2016 调试成功 一、程序说明 创建自定义面板集(PaletteSet)的C#命令方法实现。该方法名为CreatePalette,当在AutoCAD环境中调用此命令时,会执行以下操作: 获取AutoCAD主应用对象&#xff1…

docer compose部署simple-docker

简介 一个看似简陋但是功能足够用的docker管理工具 安装 创建目录 mkdir -p /opt/simple-docker cd /opt/simple-docker 创建并启动容器 编写docker-compose.yml文件,内容如下 version: 3 services: redis: image: redis:latest restart: always web: image: registry.cn-…

APP攻防-资产收集篇FridaHOOKXposed证书提取单向双向检验抓包mobsf

知识点 1、单向校验-XP框架&Frida&HOOK 2、双向校验-Frida&HOOK&导入证书 一、演示案例-APP-综合分析-Mobexler&MobSF识别 mobsf 移动安全框架 (MobSF) 是一种自动化的一体化移动应用程序 (Android/iOS/Windows) 渗透测试、恶意软件分析和安全评估框架…

Elasticsearch:BM25 及 使用 Elasticsearch 和 LangChain 的自查询检索器

本工作簿演示了 Elasticsearch 的自查询检索器将非结构化查询转换为结构化查询的示例,我们将其用于 BM25 示例。 在这个例子中: 我们将摄取 LangChain 之外的电影样本数据集自定义 ElasticsearchStore 中的检索策略以仅使用 BM25使用自查询检索将问题转…

Fate-Serving推理服务源码解读

https://fate-serving.readthedocs.io/en/develop/?queryguest 什么是Fate-Serving fate-serving是FATE的在线部分,在使用FATE进行联邦建模完成之后,可以使用fate-serving进行包括单笔预测、多笔预测以及多host预测在内的在线联合预测。 模型的初始化流…

用友U8 Cloud ReportDetailDataQuery SQL注入漏洞复现(QVD-2023-47860)

0x01 产品简介 用友U8 Cloud 提供企业级云ERP整体解决方案,全面支持多组织业务协同,实现企业互联网资源连接。 U8 Cloud 亦是亚太地区成长型企业最广泛采用的云解决方案。 0x02 漏洞概述 用友U8 cloud ReportDetailDataQuery 接口处存在SQL注入漏洞,攻击者未经授权可以访…

adb push 将电脑中的文件传输到安卓开发板

1. adb remount 重新挂载设备的文件系统,以便可以对设备进行读写操作,通常情况下,安卓开发板在连接到计算机后,设备的文件系统会被挂载为只读文件系统,重新挂载后变成可读可写权限 C:\Users\Administrator>adb re…

C++ 动态规划 区间DP 石子合并

设有 N 堆石子排成一排,其编号为 1,2,3,…,N 。 每堆石子有一定的质量,可以用一个整数来描述,现在要将这 N 堆石子合并成为一堆。 每次只能合并相邻的两堆,合并的代价为这两堆石子的质量之和,合并后与这两堆石子相邻…

第三讲 多重背包问题①——转化

【题目来源】AcWing 4. 多重背包问题 I 【题意分析】和完全背包问题类似,但是区别在于每一种物品的数量是有限的。 【解决方法】 1.转化为 0 / 1 0/1 0/1 背包问题 因为每一种物品数量有限,所以将每个物品看作单独的种类,可转化为 0 / 1 0/…

Spring Data Envers 数据审计实战2 - 自定义监听程序扩展审计字段及字段值

上篇讲述了如何在Spring项目中集成Spring Data Envers做数据审计和历史版本查看功能。 之前演示的是业务表中已有的字段进行审计,那么如果我们想扩展审计字段呢? 比如目前对员工表加入了Audited审计,员工表有个字段为dept_id,为…

JVM 性能调优 - 参数基础(2)

查看 JDK 版本 $ java -version java version "1.8.0_151" Java(TM) SE Runtime Environment (build 1.8.0_151-b12) Java HotSpot(TM) 64-Bit Server VM (build 25.151-b12, mixed mode) 查看 Java 帮助文档 $ java -help 用法: java [-options] class [args...] …

C语言实现memcpy、memmove库函数

目录 引言一、库函数介绍二、库函数详解三、源码实现1.memcpy源码实现2.memmove源码实现 四、测试1.memcpy函数2.memmove函数 五、源码1.memcpy源码2.memmove源码 六、参考文献 引言 关于memcpy和memmove这两个函数,不论是算法竞赛还是找工作面试笔试,对…

如何正确理解和获取S参数

S参数是网络参数,定义了反射波和入射波之间的关系,给定频率的S参数矩阵指定端口反射波b的矢量相对于端口入射波a的矢量,如下所示: bS∙a 在此基础上,如下图所示,为一个常见的双端口网络拓扑图:…

一文简介Maven初级使用

一.概述 Maven是专门用于管理和构建Java项目的工具,它的主要功能有: 提供了一套标准化的项目结构提供了一套标准化的项目构建流程(编译,测试,打包,发布)提供了一套依赖管理机制 一方面&…