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

欢迎来到《小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/

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

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

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

相关文章

redis源码之:集群创建与节点通信(2)

在上一篇redis源码之:集群创建与节点通信(1)我们可知,在集群中,cluster节点之间,通过meet将对方加入到本方的cluster->nodes列表中,并在后续过程中,不断通过clusterSendPing发送p…

2 月 5 日算法练习- 动态规划

DP&#xff08;动态规划&#xff09;全称Dynamic Programming&#xff0c;是运筹学的一个分支&#xff0c;是一种将复杂问题分解成很多重叠的子问题、并通过子问题的解得到整个问题的解的算法。 在动态规划中有一些概念&#xff1a; n<1e3 [][] &#xff0c;n<100 [][][…

文心一言4.0API接入指南

概述 文心一言是百度打造出来的人工智能大语言模型&#xff0c;具备跨模态、跨语言的深度语义理解与生成能力&#xff0c;文心一言有五大能力&#xff0c;文学创作、商业文案创作、数理逻辑推算、中文理解、多模态生成&#xff0c;其在搜索问答、内容创作生成、智能办公等众多…

租游戏服务器多少钱1个月?一年价格多少?

游戏服务器租用多少钱一年&#xff1f;1个月游戏服务器费用多少&#xff1f;阿里云游戏服务器26元1个月、腾讯云游戏服务器32元&#xff0c;游戏服务器配置从4核16G、4核32G、8核32G、16核64G等配置可选&#xff0c;可以选择轻量应用服务器和云服务器&#xff0c;阿腾云atengyu…

42、WEB攻防——通用漏洞文件包含LFIRFI伪协议编码算法代码审计

文章目录 文件包含文件包含原理攻击思路文件包含分类 sessionPHP伪协议进行文件包含 文件包含 文件包含原理 文件包含其实就是引用&#xff0c;相当于C语言中的include <stdio.h>。文件包含漏洞常出现于php脚本中&#xff0c;当include($file)中的$file变量用户可控&am…

Oracle笔记-为表空间新增磁盘(ORA-01691)

如下报错&#xff1a; 原因是Oracle表空间满了&#xff0c;最好是新增一个存储盘。 #查XXX命名空间目前占用了多大的空间 select FILE_NAME,BYTES/1024/1024 from dba_data_files where tablespace_name XXXX #这里的FILE_NAME能查到DBF的存储位置#将对应的datafile设置为30g…

C++中的析构函数

一、析构函数概念 析构函数不是完成对象的销毁&#xff0c;对象的销毁是由编译器完成的。析构函数完成的是对象中资源的清理工作。通常是对对象中动态开辟的空间进行清理。 二、析构函数特性 1.析构函数的函数名是 ~类名 2.析构函数无参数无返回值 3.一个类中只能有一个析…

如何让 Pages 文字分为两栏或更多栏?

通常一份文件都是由上往下仅有「一栏」而已&#xff0c;但在某些情况的排版&#xff0c;我们需要两栏甚至三栏的设计&#xff0c;在Pages 要如何做到呢&#xff1f;来看看吧。 将 Pages 文件改为双栏式设计 点一下「格式」>「布局」&#xff0c;就可以看到预设的「直栏」数…

很容易感到疲惫,怎么办?

最近&#xff0c;经常听到一些朋友诉苦&#xff0c;说&#xff1a;总觉得每天下来都特别累&#xff0c;也没干什么&#xff0c;就觉得无精打采&#xff0c;没有动力&#xff0c;提不起劲&#xff0c;什么都不想干…… 这种疲惫不是身体层面的&#xff0c;而是精神层面的。身体不…

外汇天眼:外汇天眼:注意,19个外汇平台因诈骗被监管拉黑!

近年来&#xff0c;全球金融市场出现了众多非法投资平台&#xff0c;这些平台利用虚假宣传和高回报承诺欺骗投资者&#xff0c;造成了严重的经济损失。为了保护投资者利益&#xff0c;监管机构也在加大力度打击这些非法平台。就在最近&#xff0c;又有19个外汇交易平台因涉嫌诈…

redis下载与安装教程(centos下)

文章目录 一&#xff0c;redis下载1.1上传到linux服务器上 二&#xff0c;redis安装2.1 安装依赖2.2 解压包2.3 编译并安装2.4 指定配置启动2.5 设置redis开机自启 一&#xff0c;redis下载 官网&#xff1a; https://redis.io1.1上传到linux服务器上 我用filezila上传到/us…

【AWS】step-functions服务编排

文章目录 step-functionsState machine typeStandard workflowsExpress workflows design skillsError handlingsaga Transaction processing控制分布式系统中的并发性 收费 作为AWS Serverless无服务器的一个重要一环 使用step-functions方法将 AWS 服务链接在一起 step-funct…

跟着cherno手搓游戏引擎【22】CameraController

前置&#xff1a; YOTO.h: #pragma once//用于YOTO APP#include "YOTO/Application.h" #include"YOTO/Layer.h" #include "YOTO/Log.h"#include"YOTO/Core/Timestep.h"#include"YOTO/Input.h" #include"YOTO/KeyCod…

基于最新koa的Node.js后端API架构与MVC模式

Koa 是一个由 Express 原班人马打造的现代 Web 框架&#xff0c;用于 Node.js。它旨在提供一个更小、更富有表现力和更强大的基础&#xff0c;用于 Web 应用和 API 开发。Koa 不捆绑任何中间件&#xff0c;它提供了一个优雅的方法以组合不同的中间件来处理请求和响应。 Koa 的核…

Golang与Erlang有什么差异

Golang和Erlang是两种备受关注的编程语言&#xff0c;它们各自具有独特的特点和优势。下面我将简单的探讨一下Golang和Erlang之间的差异&#xff0c;并且分析它们在并发模型、运行环境、函数式编程和领域特性等多个方面的不同之处。 并发模型 Golang使用goroutines和channels…

从 AGP 4.1.2 升级到 7.5.1——动态添加仓库

AGP 升级问题 Build was configured to prefer settings repositories over project repositories but repository ‘maven4’ was added by plugin ‘***’ 添加仓库警告信息说&#xff1a; 依赖查找以你在 setting.gradle 文件配置的仓库为准&#xff08;因为你配置了 PRE…

『运维备忘录』之 Yum 命令详解

运维人员不仅要熟悉操作系统、服务器、网络等只是&#xff0c;甚至对于开发相关的也要有所了解。很多运维工作者可能一时半会记不住那么多命令、代码、方法、原理或者用法等等。这里我将结合自身工作&#xff0c;持续给大家更新运维工作所需要接触到的知识点&#xff0c;希望大…

【多模态大模型】视觉大模型SAM:如何使模型能够处理任意图像的分割任务?

SAM&#xff1a;如何使模型能够处理任意图像的分割任务&#xff1f; 核心思想起始问题: 如何使模型能够处理任意图像的分割任务&#xff1f;5why分析5so分析 总结子问题1: 如何编码输入图像以适应分割任务&#xff1f;子问题2: 如何处理各种形式的分割提示&#xff1f;子问题3:…

Redis服务

目录 介绍 特点 缓存 安装 安装单机版redis实例 1、创建工作目录 2、下载对应的redis包 3、解压到创建好的工作目录 4、安装编译工具 5、进入解压后的目录执行make编译 6、配置环境变量 7、备份配置文件 8、修改配置文件 9、创建存放数据的目录 配置redis为syste…

Django连接Mysql

修改setting.py配置文件 连接前&#xff0c;需要创建数据库 安装mysql客户端 因为连接需要一个客户端&#xff0c;而python没有客户端&#xff0c;所以就需要一个客户端来接收你填写的参数 pip install mysqlclient