docker数据卷volume详细配置案例讲解

news2024/11/19 7:23:10

docker数据卷

文章目录

  • docker数据卷
    • 1.docker挂载宿主机数据卷
      • 1.2.具体配置
      • 1.3.挂载命令
        • 1.3.1访问页面
    • 2.多端口的容器nginx配置
      • 2.1.创建目录位置
      • 2.2.访问结果
    • 3.数据卷volume持久化配置
      • 3.1.语法格式
      • 3.2.详细参数
      • 3.3.操作案例
      • 3.4.数据改动
      • 3.5.查看卷的详细属性
    • 4.与某个容器使用一样的卷组

1.docker挂载宿主机数据卷

一般来说nginx只有默认首页,我们装了nginx肯定不只有首页,因此网站源码存放位置我们需要考虑了,放到容器中,很多命令在容器中不生效这点就很头疼,因此就有了挂载这么个说发,在宿主机建一个目录,挂载到容器中,宿主机发生改变,容器也会跟着改变,实时同步

语法格式:

docker run -d -p 宿主机端口:docker端口 -v src:dest 镜像

可以是文件也可以是目录

1.2.具体配置

在本地创建一个目录
[root@localhost docker]# mkdir /opt/nginx_
然后在目录中写一个html的文件
我这边举例就随便写了一个
[root@localhost nginx_]# echo "123123" > index.html

1.3.挂载命令

[root@localhost docker]# docker run -d -p 80:80 -v /opt/nginx_/:/usr/share/nginx/html nginx:latest 

1.3.1访问页面

可以看到我们自己写的页面同步到了容器中

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-C6G5UHzk-1683862645381)(D:\linux笔记总结\docker\docker数据卷.assets\image-20230510163545130.png)]

进入容器查看挂载位置

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zO6XnvW2-1683862645383)(D:\linux笔记总结\docker\docker数据卷.assets\image-20230510164422251.png)]

2.多端口的容器nginx配置

操作举例:

创建80、81端口挂载数据目录实现跨越访问两个端口

[root@localhost nginx_]# docker run -d -p 80:80 -p 81:81 -v /web/conf.d/:/etc/nginx/conf.d -v /web/know_system/:/usr/share/nginx/html nginx:latest 

2.1.创建目录位置

[root@localhost web]#mkdir  /web/conf.d   know_system

81端口配置文件
[root@localhost conf.d]# cat know.conf 
server {
	listen 81;
	server_name know.com;

	location / {
		root /usr/share/nginx/html;
		index b.html;
	}
}


80端口配置文件
[root@localhost conf.d]# cat default.conf 
server {
	listen 80;
	server_name know.com;

	location / {
		root /usr/share/nginx/html;
		index index.html b.html;
	}
}

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wy3C9C1J-1683862645383)(D:\linux笔记总结\docker\docker数据卷.assets\image-20230511155519332.png)]

页面内容就比较简单了随便写的

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Eb5KA5np-1683862645384)(D:\linux笔记总结\docker\docker数据卷.assets\image-20230511155626718.png)]

2.2.访问结果

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Om5Z1tiu-1683862645384)(D:\linux笔记总结\docker\docker数据卷.assets\image-20230511160553256.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-baaOFCWO-1683862645385)(D:\linux笔记总结\docker\docker数据卷.assets\image-20230511163433552.png)]

3.数据卷volume持久化配置

每当容器删除时,里面的数据也会随着删除,万一不小心删了一个容器时,那可就太倒霉了,因此docker还有一种数据卷叫做持久性数据卷组,每次都会把容器中操作的数据保存在数据卷组中,即使删除了这个容器,创建新的容器照样可以使用数据卷组中的内容。

3.1.语法格式

docker volume

3.2.详细参数

参数详解
create创建一个数据卷
inspect查看数据卷属性
ls查看所有数据卷
prune批量删除数据卷
rm删除单个数据卷

3.3.操作案例

1.创建一个持久化的数据卷
[root@localhost ~]# docker volume create nginx_bf
nginx_bf
2.查看已创建的数据卷
[root@localhost ~]# docker volume ls
DRIVER    VOLUME NAME
local     nginx_bf
3.使用数据卷
[root@localhost ~]# docker run -d -p 82:80 -v nginx_bf:/usr/share/nginx/html nginx:latest 
WARNING: IPv4 forwarding is disabled. Networking will not work.
bb086961e6a35e1c4c20cc744fe5f07bd70d8381574e4cca4350e5e66f91e8c7

刚配置完是可以访问到默认的页面

3.4.数据改动

1.我们来修改index首页数据
[root@localhost ~]# docker exec -it hardcore_cerf sh
# cd /usr/share/nginx/html       
# ls
50x.html  index.html
# echo "hello" > index.html

2.查看修改结果
[root@localhost ~]# curl -i 
hello

3.删除容器
[root@localhost ~]# docker rm -f hardcore_cerf 

4.在创建一个容器并挂载数据卷组
[root@localhost ~]# docker run -d -p 80:80 -v nginx_bf:/usr/share/nginx/html nginx:latest 
e1a1697cd3a97ce3437afd9f0cdbd1f685c5f11bee12f466da34986fb0ed616a

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7woZgROI-1683862645386)(D:\linux笔记总结\docker\docker数据卷volume详细配置案例讲解.assets\image-20230512112235328.png)]

验证后发现数据完整的保留下来

3.5.查看卷的详细属性

[root@localhost ~]# docker volume inspect nginx_bf 
[
    {
        "CreatedAt": "2023-05-12T11:07:44+08:00",
        "Driver": "local",
        "Labels": {},
        "Mountpoint": "/var/lib/docker/volumes/nginx_bf/_data",
        "Name": "nginx_bf",
        "Options": {},
        "Scope": "local"
    }
]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fU4h28Zw-1683862645387)(D:\linux笔记总结\docker\docker数据卷volume详细配置案例讲解.assets\image-20230512112559973.png)]

卷的保存路径

进入这个路径可以看到保存在本地的卷组信息
[root@localhost ~]# cd /var/lib/docker/volumes/nginx_bf/
[root@localhost nginx_bf]# ls
_data
[root@localhost nginx_bf]# cd _data/
[root@localhost _data]# ls
50x.html  index.html

4.与某个容器使用一样的卷组

语法参数:

docker run -d -p port:port --volumes-from 要和谁使用相同的数据卷容器名 镜像名

案例:

[root@localhost _data]# docker run -d -p 83:80 --volumes-from frosty_fermat nginx:latest 
d26e173ecc714f1059998059b0a2489ac76449c295d12c8f6d3d8980e9b4feab

[root@localhost _data]# curl -i 127.0.0.1:83
hello

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

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

相关文章

如何利用技术做到脱颖而出?亚马逊云科技泛娱乐高峰论坛为你揭秘

互联网技术的飞速进步与数字内容消费的蓬勃发展,使得泛娱乐市场越来越红火,用户对于高品质内容的个性化需求也在不断提升,这对技术底座也提出了更加严苛的要求,时代潮流已至,如何利用技术在一片红海中做到脱颖而出&…

【溯源反制】CDN域前置云函数-流量分析|溯源

文章目录 CDN隐藏C2地址环境搭建上传至威胁感知平台直接分析使用DNSQuerySniffer和Process Monitor定位进程网络流量分析文件属性(IDAPro Ollydbg) 域前置隐藏环境搭建威胁感知流量分析 云服务API网关/云函数云函数使用HTTPcs的流量可以简单的分为三个阶段 云函数使用HTTPS 总结…

kali Linux root密码修改

kali root 密码修改有时候是经常发生的,要么忘记,要么是必须限时要改的,今天记录下,修改方法,以便后续。 Kali Linux的前身是BackTrack Linux发行版。Kali Linux是一个基于Debian的Linux发行版,它被认为是最好的渗透测试的 Linux 发行版之一,而且名副其实。 作为一名从…

Vivado使用技巧:时钟的约束方法

时钟的基础知识 数字设计中,“时钟”表示在寄存器之间可靠地传输数据所需的参考时间;Vivado的时序引擎利用时钟特征来计算时序路径需求,通过计算时间裕量(Slack)的方法报告设计的时序空余;时钟必须…

C++11 -- 入门基础知识

文章目录 C11简介列表初始化std::initializer_list 变量类型推导nullptr范围for循环STL中的一些变化 C11简介 在2003年C标准委员会曾经提交了一份技术勘误表(简称TC1),使得C03这个名字已经取代了C98称为C11之前的最新C标准名称。不过由于C03(TC1)主要是对C98标准中…

怎么在照片上添加logo

怎么在照片上添加logo?现在是全面自媒体的时代,很多旅行博主或者摄影爱好者喜欢将自己拍摄的照片发布到各大平台上,分享自己的摄影作品,不过互联网属于一个开放平台,所以盗取照片的事情时有发生,很多不法分…

LabVIEWCompactRIO 开发指南16 有效使用网络共享变量的技巧

LabVIEWCompactRIO 开发指南16 有效使用网络共享变量的技巧 在使用网络共享变量进行编程时,可以遵循三个技巧来最大化性能并避免任何不需要的行为。图4.11显示了包含每个技巧的初始化过程。 技巧1:初始化共享变量 在应用程序开始时将共享变量初始化为已知值。如…

全文检索-Elasticsearch-整合SpringBoot

文章目录 前言一、整合检索服务1.1 创建 gulimall-search 模块1.2 配置 Maven 依赖1.3 搜索服务注册到注册中心1.4 新增 es 配置类1.5 测试 RestHighLevelClient 组件 二、存储数据到 ES2.1 测试 ES 简单插入数据2.2 测试 ES 查询复杂语句2.3 读入数据 前言 前面记录了 Elasti…

如何修复d3dcompiler_47.dll缺失?多种解决方法分享

在使用Windows操作系统的过程中,有时候会遇到d3dcompiler_47.dll缺失的情况。这个问题可能会导致某些应用程序无法正常运行,因此需要及时解决。本文将介绍如何修复d3dcompiler_47.dll缺失的问题。 一.什么是d3dcompiler_47.dll D3dcompiler_47.dll是Di…

Kali-linux查看打开的端口

对一个大范围的网络或活跃的主机进行渗透测试,必须要了解这些主机上所打开的端口号。在Kali Linux中默认提供了Nmap和Zenmap两个扫描端口工具。为了访问目标系统中打开的TCP和UDP端口,本节将介绍Nmap和Zenmap工具的使用。 4.4.1 TCP端口扫描工具Nmap 使…

revit的附着顶部/底部工具使用及CAD图纸转柱

一、revit的附着顶部/底部工具的使用 生活上,有很多建筑是斜屋顶的房子,像是一些别墅的装修,斜屋顶往往比平屋顶更有装饰感,也更有利于排水。 那么在Revit中,绘制带有斜屋顶的往往会遇到这样一个问题,屋顶之…

OpenCL编程指南-3.2OpenCL上下文

OpenCL上下文 上下文是所有OpenCL应用的核心。上下文为关联的设备、内存对象(例如,缓冲区和图像)以及命令队列(在上下文和各设备之间提供一个接口)提供了一个容器。正是上下文驱动着应用程序与特定设备以及特定设备之…

算法训练Day53:​ 1143.最长公共子序列 1035.不相交的线 53.最大子序和 动态规划

文章目录 最长公共子序列题解 不相交的线题解 最大子数组和题解 最长公共子序列 CategoryDifficultyLikesDislikesContestSlugProblemIndexScorealgorithmsMedium (64.94%)13110--0 Tags Companies 给定两个字符串 text1 和 text2,返回这两个字符串的最长 公共子…

浏览csdn博客自动隐藏侧边栏并只看目录

背景 CSDN 总算做了点好事,能够隐藏大部分无关信息,只看博客内容本身。具体如图,还在测试版 以我的一篇博客为例,原始界面,花里胡哨一堆 点击隐藏侧栏后的清爽版 点击只看目录后的清爽版 前提提要 安装油猴脚本&…

使用VSCode创建Vue项目

Vue介绍 Vue.js是一个渐进式JavaScript框架,用于构建用户界面。它可以与其他库或现有项目集成,也可以作为单个组件使用。Vue.js的目标是提供一种简单、快速和灵活的方式来开发交互式Web应用程序。 Vue.js的核心特性包括: 响应式数据绑定&am…

http协议格式

HyperText Transfer Tansfer Protocol 超文本传输协议,是一种基于TCP的应用层协议,也是目前为止最为流行的应用层协议之一,可以说HTTP协议是万维网的基石。历经了0.9、HTTP/1.0、HTTP/1.1、HTTP/2几个版本(关于HTTP协议的历史,这里…

unity-物体rotation翻转180度后,OnPointerDown失效的问题

问题:今天碰到一个问题,就是把物体A进行水平翻转后,如下图,OnPointerDown 就失效了 》解决方案1(使用Scale X来替代Rotation Y): 使用Scale改为-1来翻转,这样 OnPointerDown 就正常…

双向链表刷题总结

剑指 Offer 36. 二叉搜索树与双向链表 输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的循环双向链表。要求不能创建任何新的节点,只能调整树中节点指针的指向。 为了让您更好地理解问题,以下面的二叉搜索树为例: 我们希望将这…

分布式系统中的那些一致性(CAP、BASE、2PC、3PC、Paxos、ZAB、Raft)

本文介绍 CAP、BASE理论的正确理解、Paxos 算法如何保证一致性及死循环问题、ZAB 协议中原子广播及崩溃恢复以及 Raft 算法的动态演示。 下面还有投票,一起参与进来吧👍 文章目录 前言CAP理论理解误导正确的理解CAP理论的应用 BASE理论Paxos算法如何保证…

ASEMI代理LT6230CS6-10#TRPBF原装ADI车规级LT6230CS6-10#TRPBF

编辑:ll ASEMI代理LT6230CS6-10#TRPBF原装ADI车规级LT6230CS6-10#TRPBF 型号:LT6230CS6-10#TRPBF 品牌:ADI /亚德诺 封装:SOT-6 批号:2023 安装类型:表面贴装型 引脚数量:6 工作温度:-4…