docker小白第六天

news2024/9/27 23:26:40

docker小白第六天

容器数据卷是什么

首先,容器卷有个坑:容器卷需要加入privileged=true,如下图所示,是为了解决permission denied的问题。其中“挂载”的意思是相当于一个硬盘插到主机上。使用该命令。是扩大容器的权限解决挂载目录没有权限的问题。
在这里插入图片描述

docker run -d -p 5000:5000 -v /cz/myregistryl:/tmp/registry --privileged=true registry
这也印证了前文运行本地私有库registry的命令,-v是添加自定义的容器卷,仓库被挂载在宿主机/cz/myregistryl路径下,/tmp/registry表示的是容器内的路径。

实际上是完成了以后台守护式启动一个容器,实现了容器与宿主机之间的信息共享和互通互联。
在这里插入图片描述
总结:1、卷就是目录或文件,存在于一个或多个容器中,由docker挂载到容器,但不属于联合文件系统,因此能够绕过Union File System提供一些用于持续存储或共享数据的特性。
2、卷的设计目的就是数据的持久化,完全独立于容器的生存周期,因此Docker不会在容器删除时删除其挂载的数据卷。
3、将docker容器内的数据保存进宿主机的磁盘中。

运行一个带有容器卷的容器实例

docker run -it --privileged=true -v /宿主机绝对路径目录:/容器内目录 镜像名
docker run -it --privileged=true -v /tmp/host_data:/tmp/docker_data --name=u1 ubuntu
以前台交互式的形式新建一个容器,同时--privileged=true增加挂载的权限,-v开始在宿主机的tmp/host_data目录挂载一个容器的tmp/docker_data,容器名字叫做u1,使用的镜像是ubuntu。另外目录文件不需要自己额外创建,在执行命令的时候,docker会自动创建所需的目录文件夹。

在容器内cd进刚刚的目录,然后新建一个txt文件。

在这里插入图片描述
在主机的cd进刚刚目录下,可以看到多出了一txt文件,很明显是容器内同步过来的。
在这里插入图片描述

查看容器卷是否挂载成功

docker inspect 容器id

在宿主机执行该命令,暴露容器内各种信息,可以看到mounts这里,有挂载的容器卷的相关信息。
在这里插入图片描述
当容器被停掉,然后在宿主机的共享挂账目录下新建或删除一个文件,在启动容器,会发现,容器的共享挂载目录下也会有同样新建或删除的一个文件。

在宿主机的命令行内执行以下命令
docker stop 容器id
cd 进共享的目录
rm -f host_data.txt
启动 容器
docker start 容器id
进入交互式容器的命令行
docker exec -it 容器id /bin/bash
cd进容器的共享目录
ls

在这里插入图片描述
总结:

  • docker容器修改,主机同步共享获得修改内容
  • 主机修改,docker容器同步共享获得修改内容
  • 停止docker容器,主机修改,docker容器重启后,数据同步获得。

容器卷的ro和rw读写说明

默认情况下,是开启读写的rw权限。
有些特殊情况需要开启只读,挂载时执行如下命令即可

docker run -it --privileged=true -v /宿主机绝对路径目录:/容器内目录:ro 镜像名
容器实例内部被限制,只能读取不能写

在容器内此时执行新建一个文件,则会报错提示,不能新建,只能读文件系统,此时如果宿主机的共享目录下写入一个内容,则可以同步到容器内,容器可以读取到。
在这里插入图片描述

容器卷之间的继承

即容器1完成和宿主机的映射后,容器2继承容器1的卷规则。
在宿主机上共享目录下新建文件hostdata.txt
在这里插入图片描述
在容器u1上的共享目录下新建u1.data.txt
在这里插入图片描述

docker run -it --privileged=true --volumes-from 父类 --name=u2 ubuntu
将父类替换为容器1的名字后执行,新建一个名字为u2的容器,容器的卷规则继承容器1.

在这里插入图片描述
发现新建的容器u2,也有共享目录tmp/docker_data,该目录下也有两个文件。
在这里插入图片描述
总结:此时如果docker stop 容器id停止任意一个容器,然后在其他主机或者另一个容器中的共享目录修改文件,在恢复docker start 容器id启动容器后,共享目录下同样会发生文件的变动。(因为是停止容器,并不是删除容器,并未删除容器的配置信息)

docker常规安装简介

例如下图左侧所示,因为微服务,会安装各种各样的包,库,组件等,还需要环境配置,比较麻烦。而右侧使用docker,只需要将配置好的包,库,组件的镜像pull下载,然后在docker容器内run运行即可。

在这里插入图片描述
总体安装的涉及步骤大概如下

docker search 镜像名
docker pull 镜像名
docker images
docker run 镜像名
docker stop 镜像名
docker rmi 镜像名

在这里插入图片描述

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

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

相关文章

FA2016AS (MHz范围晶体单元,内置热敏电阻)

FA2016AS晶振是爱普生推出的一款频率范围为38.4MHz 的石英晶体谐振器,内置热敏电阻,小体积贴片(2.0 1.6 0.65 mm),具有小型超薄、稳定性好、具备优良的耐环境特性及高耐热性强.满足无铅焊接的回流温度曲线要求的特点。该款无源晶…

MongoDB的查询分析explain和hint

本文主要介绍MongoDB的查询分析explain和hint。 目录 MongoDB的查询分析explainhint MongoDB的查询分析 在MongoDB中,"explain"和"hint"是两个用于查询优化和分析的关键指令。 explain 在MongoDB中,explain()是一个用于查询分析的…

【洛谷算法题】P1888-三角函数【入门2分支结构】Java题解

👨‍💻博客主页:花无缺 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅! 本文由 花无缺 原创 收录于专栏 【洛谷算法题】 文章目录 【洛谷算法题】P1888-三角函数【入门2分支结构】🌏题目描述🌏输入格式&a…

三、W5100S/W5500+RP2040之MicroPython开发<DNS示例>

文章目录 1. 前言2. 相关网络信息2.1 简介2.2 DNS工作过程2.3 优点2.4 应用 3. WIZnet以太网芯片4. DNS解析示例讲解以及使用4.1 程序流程图4.2 测试准备4.3 连接方式4.4 相关代码4.5 烧录验证 5. 注意事项6. 相关链接 1. 前言 在这个智能硬件和物联网时代,MicroPyt…

多目标跟踪学习

本文来源: 目标跟踪那些事儿-技术和课程介绍_哔哩哔哩_bilibili 为该视频的学习笔记 目的:我的学习目的主要是了解现有的跟踪算法,并着重了解卡尔曼滤波算法,利用卡尔曼滤波算法进行多目标跟踪等后续一系列估计算法。老师视频中提…

【C++篇】Vector容器 Vector嵌套容器

文章目录 🍔简述vector🎄vector存放内置数据类型⭐创建一个vector容器⭐向容器里面插入数据⭐通过迭代器访问容器里面的数据⭐遍历🎈第一种遍历方式🎈第二种遍历方式🎈第三种遍历方式 🎄vector存放自定义数…

Java 基础学习(十三)集合框架、List集合

1 集合框架 1.1 Collection 1.1.1 集合框架概述 Java 集合框架是一组实现了常见数据结构(如列表、树集和哈希表等)的类和接口,用于存储一组数据。 开发者在使用Java的集合类时,不必考虑数据结构和算法的具体实现细节&#xff…

SearchWP WordPress高级网站内容搜索插件

点击阅读SearchWP WordPress高级网站内容搜索插件原文 SearchWP WordPress高级网站内容搜索插件是一个非常强大的工具,可以显着增强您网站的搜索功能。通过向网站访问者提供高度相关和精确的搜索结果,它可以有效地简化他们的搜索过程,促进发…

收集60个AI工具网站,值得收藏

目录 一、聊天AI 二、绘画AI 三、AI提示词 四、图像处理 五、UI设计 六、3D设计 今天小编给大家分享60个AI网站,感兴趣的朋友赶紧收藏吧! 一、聊天AI 1.ChatGPT 地表最强AI聊天机器人 网址:https://chat.openai.com 2.Anthropic Ant…

美容美发行业小程序源码:单店多店自由用+完整的代码包+搭建教程

随着移动互联网的普及,越来越多的消费者通过手机APP、小程序等应用进行美容美发预约、在线支付等服务。为了满足市场需求,提高美容美发行业的服务效率,罗峰给大家分享一款美容美发行业小程序源码,提供单店多店自由使用、完整的代码…

概率转移路径搜索算法(Beam search, Viterbi算法,)

每个时刻的状态概率给定,我们希望计算整个路径(所有时刻)的最大概率状态。 贪心算法(Greedy Algorithm)动态规划: Beam search:选定当前时刻k个最佳状态。kN时计算复杂度和维特比相同&#xff0…

TCP的拥塞控制_基础知识_四种拥塞控制方法

TCP的拥塞控制 一.拥塞控制的基本概念 在某段时间,若对网络中某一资源的需求超过了该资源所能提供的可用部分,网络性能就要变坏,这种情况就叫作拥塞 。 计算机网络中的链路容量(带宽)、交换节点中的缓存和处理机等都是网络的资源 若出现拥塞…

Docker 核心技术

Docker 定义:于 Linux 内核的 Cgroup,Namespace,以及 Union FS 等技术,对进程进行封装隔离,属于操作系统层面的虚拟化技术,由于隔离的进程独立于宿主和其它的隔离的进程,因此也称其为容器Docke…

Arcgis导出为tiff

原有一幅影像,在进行一些操作之后,需要导出为tiff 比如我对他进行一个重采样,48m分辨率变为96m 在重采样后的数据图层上右键,导出数据 为什么有时会导出为.gdb格式的呢? 可能是位置处在一个文件地理数据库.gdb下

全都没有问题(二点五)

java 接口默认方法冲突等问题 基础基础基础 子接口覆盖父接口的默认方法 package com.book;interface AA{public abstract void print();public default void ID(){System.out.println("AA");} } interface BB extends AA{ //接口BB继承AAOverridepublic default…

LabVIEW在燃气轮机发电机组励磁控制系统测试中的应用

LabVIEW在燃气轮机发电机组励磁控制系统测试中的应用 燃气轮机发电机组作为一种高效可靠的常备应急电源,在保障发电品质稳定性和可靠性方面发挥着关键作用。其中,励磁控制系统是保证供电质量的重要环节,对发电机组的稳定运行至关重要。为了有…

【C++入门到精通】 原子性操作库(atomic) C++11 [ C++入门 ]

阅读导航 引言一、原子性操作库简介二、原子变量1. 原子类型2. 原子类型函数3. 使用示例 三、总结温馨提示 引言 当谈及并发编程时,确保数据的安全性和一致性是至关重要的。在C11中引入的原子性操作库(atomic)为我们提供了一种有效且可靠的方…

爬虫中scrapy模块的概念作用和工作流程

scrapy的概念和流程 学习目标: 了解 scrapy的概念了解 scrapy框架的作用掌握 scrapy框架的运行流程掌握 scrapy中每个模块的作用 1. scrapy的概念 Scrapy是一个Python编写的开源网络爬虫框架。它是一个被设计用于爬取网络数据、提取结构性数据的框架。 Scrapy 使…

在Linux安装的Docker中开启IPv6

先在Linux中安装docker,然后在docker中开启IPv6。 安装docker 第一步,卸载旧版本docker。 若系统中已安装旧版本docker,则需要卸载旧版本docker以及与旧版本docker相关的依赖项。 命令:yum -y remove docker docker-client do…

15 使用v-model绑定单选框

概述 使用v-model绑定单选框也比较常见,比如性别,要么是男,要么是女。比如单选题,给出多个选择,但是只能选择其中的一个。 在本节课中,我们演示一下这两种常见的用法。 基本用法 我们创建src/component…