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

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

PyQt6 QSpacerItem弹簧控件

锋哥原创的PyQt6视频教程: 2024版 PyQt6 Python桌面开发 视频教程(无废话版) 玩命更新中~_哔哩哔哩_bilibili2024版 PyQt6 Python桌面开发 视频教程(无废话版) 玩命更新中~共计46条视频,包括:2024版 PyQt6 Python桌面开发 视频教程(无废话版…

二维码搭建意见建议反馈留言系统

传统纸质投诉建议需要用笔进行填写,反馈意见费时费力,相关单位收到留言反馈意见后也无法进行直接进行回复。 将投诉建议的记录单制作成二维码,放在公告栏等位置,用户可以扫描二维码随时随地进行反馈,常见的有评价表、投诉建议表、反馈意见表、留言表等,也就是通过扫码实现对用…

2023 英特尔On技术创新大会直播 |让更多人了解AI魅力

2023 英特尔On技术创新大会直播 |让更多人了解AI魅力 前言:主要领域:人工智能:使用 OpenVINO™ 落地边缘端生成式 AIOpenVINO™学习总结: 新一代 AI PC计算平台:新一代至强平台:边云协同:先进技术&#xff…

一款电压检测LVD

一、基本概述 The TX61C series devices are a set of three terminal low power voltage detectors implemented in CMOS technology. Each voltage detector in the series detects a particular fixed voltage ranging from 0.9V to 5.0V. The voltage detectors consist…

HTML_有哪些字体样式及使用

文章目录 🐱‍🐉一、字体样式的基本概念:🐱‍🐉二、css字体样式属性有:🤣1、设置字体类型(font-family)🤣2、设置字体大小(font-size)…

Nginx+keepalived实现高可用负载群集

实现方式 使用Nginx作为负载调度器,通过四层代理转发给web器处理请求,实现负载均衡; 在Nginx调度器上配置脚本监控(健康检查),实现主备热备份,当主失效切换至备工作。 实验 实验准备 Web 服…

中伟视界:天然气站安全隐患AI解决方案, 人工智能, 安全风险评估, 预测维护, 智能管理

近年来,随着人工智能技术的不断发展,越来越多的行业开始将人工智能应用于生产和管理中。在天然气行业,利用人工智能AI算法排除安全隐患已经成为一种新的趋势。那么,天然气站如何利用人工智能AI算法排除安全隐患呢?接下…

sqlserver-事物日志

文章目录 前言事务日志逻辑体系结构事务日志物理体系结构虚拟日志文件 (VLF)事务日志的循环性质日志截断事务日志备份事务日志支持的操作恢复个别的事务。启动事务时恢复所有未完成SQL Server事务。将还原的数据库、文件、文件组或页前滚至故障点。支持事务复制。支持高可用性和…

林杰:程序员依然是草根跨越阶级的最佳途径之一 | 程客有话说

《程客有话说》是我们最新推出的一个访谈栏目,邀请一些国内外有趣的程序员来分享他们的经验、观点与成长故事,尝试建立一个程序员交流与学习的平台,也欢迎大家推荐朋友或自己来参加我们的节目,一起加油。 本期我们邀请的程序员林…

【异常解决】MySQL数据库:Lock wait timeout exceeded; try restarting transaction问题解析及解决方案

MySQL数据库:Lock wait timeout exceeded; try restarting transaction问题解析及解决方案 一、背景描述二、原因分析三、解决方案3.1 方案一 事务信息查询3.2 方案二 如果杀掉线程依然不能解决,可以查找执行线程耗时比较久的任务,kill掉3.3 …

智能优化算法应用:基于阿基米德优化算法3D无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用:基于阿基米德优化算法3D无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用:基于阿基米德优化算法3D无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.阿基米德优化算法4.实验参数设定…

【稳定检索|投稿优惠】2024年交通运输与能源动力国际学术会议(IACTEP 2024)

2024年交通运输与能源动力国际学术会议(IACTEP 2024) 2024 International Academic Conference on Transportation and Energy Power(IACTEP 2024) 一、【会议简介】 2024年交通运输与能源动力国际学术会议(IACTEP 2024)将在美丽的三亚盛大启幕。本次会议将聚焦交通运输与能源动…