docker小白第六天

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 镜像名

在这里插入图片描述

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

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

相关文章

路由器设置代理IP教程,http代理怎么固定IP地址?

路由器设置代理IP教程 一、确定代理IP地址 首先,你需要确定你要使用的代理IP地址。你可以从代理服务提供商处获取代理IP地址和端口号。 二、登录路由器管理界面 在浏览器中输入路由器的IP地址,输入账号和密码,进入路由器的管理界面。 三、设置…

高级桌面编程(二)

一、前言 文章的续作前文是: 高级桌面编程(一)-CSDN博客https://blog.csdn.net/qq_71897293/article/details/135072204?spm1001.2014.3001.5502 二、自定义控件 1创建自定义控件,如下图所示: 2 在创建的页面可以…

架构设计系列之前端架构和后端架构的区别和联系

前端架构和后端架构都是软件系统中最关键的架构层,负责处理不同方面的任务和逻辑,两者之间是存在一些区别和联系的,我会从以下几个方面来阐述: 一、定位和职责 前端架构 主要关注用户界面和用户体验,负责处理用户与…

10000字讲解TCP协议(确认应答,超时重传,三次握手,四次挥手等等众多机制)以及UDP协议(UDP报文,校验和)

文章目录 UDP协议?什么是校验和?基于UDP的应用层协议(了解) TCP协议确认应答(可靠性机制)超时重传(可靠性机制)连接管理(可靠性机制)三次握手(重点)四次挥手(重点) 三次握手和四次挥手时客户端和服务器的状态滑动窗口(效率机制)流量控制(效率机制)窗口探…

大型语言模型:SBERT — Sentence-BERT

slavahead 一、介绍 Transformer 在 NLP 方面取得了进化进步,这已经不是什么秘密了。基于转换器,许多其他机器学习模型已经发展起来。其中之一是BERT,它主要由几个堆叠的变压器编码器组成。除了用于情感分析或问答等一系列不同的问题外&#…

国产ToolLLM的课代表---OpenBMB机构(清华NLP)旗下ToolBench的安装部署与运行(附各种填坑说明)

ToolBench项目可以理解为一个能直接提供训练ToolLLM的平台,该平台同时构建了ToolLLM的一个开源训练指令集。,该项目是OpenBMB机构(面壁智能与清华NLP联合成立)旗下的一款产品,OpenBMB机构名下还同时拥有另外一款明星产…

一种基于IWR6843雷达的跌倒检测系统的设计和实现(TI文档)

摘要 随着年龄增长,人体各项生理机能退化严重,老年人很容易发生跌倒,导致身体受到严重的伤害。近年来,随着国内人口老龄化越来越严重,主要针对老年人的跌倒检测系统正受到越来越多的关注。和常用的加速度传感器和视觉技…

vue el-date-picker中datetime类型对今天之后的日期包含时分禁用

vue el-date-picker中datetime类型对今天之后的日期包含时分禁用 目前对选择秒那一列未禁用 <template><div><el-date-pickerv-model"deactivateTime"type"datetime"format"yyyy-MM-dd HH:mm:ss"value-format"yyyy-MM-dd HH…

Unity 通过代码将一张大图切成多个小图的方法

在Unity 中要通过代码将一张贴图切割成多张小图&#xff0c;可以使用以下方法&#xff1a; /// <summary>/// 把一张图片切割成多张使用/// </summary>/// <param name"texture">原图</param>/// <param name"rows">切割的行…

SQL进阶理论篇(十三):数据库的查询优化器是什么?

文章目录 简介什么是查询优化器查询优化器的两种优化方式总结参考文献 简介 事务可以让数据库在增删改查的过程中&#xff0c;保证数据的正确性和安全性&#xff0c;而索引可以帮数据库提升数据的查找效率。查询优化器&#xff0c;则是帮助我们获取更高的SQL查询性能。 本节我…

持续集成交付CICD:K8S 自动化完成前端项目应用发布与回滚

目录 一、实验 1.环境 2.GitLab新建项目存放K8S部署文件 3.Jenkins手动测试前端项目CD 流水线代码&#xff08;下载部署文件&#xff09; 4. 将K8S master节点配置为jenkins从节点 5.K8S 手动回滚前端项目版本 6.Jenkins手动测试前端项目CD 流水线代码&#xff08;发布应…

空间转录组 多样本整合分析—stlearn

大家好&#xff0c;今天介绍一款空间转录组整合分析的python软件——stlearn。 如果你还不会安装&#xff0c;可以看下之前的推文&#xff0c;windows系统本地安装stlearn&#xff1a;本地安装jupyterlab&#xff0c;并创建conda小环境——以空间转录组细胞互作之stlearn安装为…

设计模式——0前言目录

1 设计模式介绍 应当站在产品经理的角度来学习设计模式 是软件设计中常见问题的典型解决方案&#xff0c;可用于解决代码中反复出现的设计问题 学习效果一般的原因在于自己没有站在产品经理的角度学习&#xff0c;仅仅是为了学习怎么实现&#xff0c;用什么算法实现。 分类&…

telnet的交互原理(wireshark分析)

telnet的交互原理&#xff08;wireshark篇&#xff09; telnet的协议类型是tcp&#xff0c;他的密钥用的是明文的&#xff0c;容易被捕获&#xff0c;所以后来的windows基本弃用了telnet服务端但依然保留了客户端。 下面是他的交互抓包&#xff1a; 这里面的前三条运用的是tc…

一种基于外观-运动语义表示一致性的视频异常检测框架 论文阅读

A VIDEO ANOMALY DETECTION FRAMEWORK BASED ON APPEARANCE-MOTION SEMANTICS REPRESENTATION CONSISTENCY 论文阅读 ABSTRACT1. INTRODUCTION2. PROPOSED METHOD3. EXPERIMENTAL RESULTS4. CONCLUSION阅读总结&#xff1a; 论文标题&#xff1a;A VIDEO ANOMALY DETECTION FRA…

【工作流Activiti】MyActivit的maven项目

1、Idea新建一个项目MyActivit的maven项目 2、安装插件 在 idea 里面&#xff0c;activiti 的插件叫 actiBPM&#xff0c;在插件库里面把它安装好&#xff0c;重启 idea 就行了。 3、 maven 项目中&#xff0c;并更改 pom.xml。pom 中依赖如下&#xff1a; <?xml version…

IntelliJ IDE 插件开发 | (三)消息通知与事件监听

系列文章 IntelliJ IDE 插件开发 |&#xff08;一&#xff09;快速入门IntelliJ IDE 插件开发 |&#xff08;二&#xff09;UI 界面与数据持久化IntelliJ IDE 插件开发 |&#xff08;三&#xff09;消息通知与事件监听 前言 在前两篇文章中讲解了关于插件开发的基础知识&…

【数据结构】二叉树的模拟实现

前言:前面我们学习了堆的模拟实现&#xff0c;今天我们来进一步学习二叉树&#xff0c;当然了内容肯定是越来越难的&#xff0c;各位我们一起努力&#xff01; &#x1f496; 博主CSDN主页:卫卫卫的个人主页 &#x1f49e; &#x1f449; 专栏分类:数据结构 &#x1f448; &…

14 v-model绑定输入框

概述 v-model用于实现双向数据绑定&#xff0c;使用v-model绑定输入框是Vue3中最常见的用法之一。 比如&#xff0c;在制作登录界面的时候&#xff0c;我们会使用v-model绑定用户名和密码&#xff0c;这里的用户名和密码都是输入框。 基本用法 我们创建src/components/Demo…

nodejs+vue+微信小程序+python+PHP影片数据爬取与数据分析-计算机毕业设计推荐

管理页面&#xff1a;管理员和用户都可以登录。通过输入账号和密码后&#xff0c;校验无误后方可进入对应的主界面&#xff0c;管理员可对用户使用的权限管理&#xff0c;以及对网站信息进行管理[9]。  影片数据爬取与数据分析分为两个部分&#xff0c;即管理员和用户。该系统…