当前位置: 首页 > news >正文

【docker】数据卷和数据卷容器

一、如何管理docker容器中的数据?

二、数据卷

1、数据卷原理

将容器内部的配置文件目录,挂载到宿主机指定目录下

数据卷默认会一直存在,即使容器被删除
宿主机和容器是两个不同的名称空间,如果想进行连接需要用ssh,exec和attch也类似于ssh这种方式登录
在企业中ssh这种登录方式会比较危险,安全漏洞很大,尽量减少ssh这种,杜绝了频繁使用exec
因此使用数据卷的方式把容器内部的文件目录挂载到宿主机指定目录下进行修改,当容器里的文件频繁需要修改时,不需要登录进去,直接使用数据卷方式在宿主机指定的目录下进行修改即可,方便又安全。
 

2、数据卷的作用

  • 数据卷是一个供容器使用的特殊目录,位于容器中,可以将宿主机目录挂载到数据卷上,对数据卷的修改操作立刻可见,并且更新数据不会影响影响镜像,从而实现数据在宿主机与容器之间的迁移。
  • 数据卷的使用类似于linu下对目录进行mount操作。

3、数据卷案例

创建两个容器,挂载到宿主机的同一个目录

               【宿主机目录】:【容器目录】
docker run -itd -v /var/www:/data1 --name ydq1 centos:7 bash
docker run -itd -v /var/www:/data2 --name ydq2 centos:7 bash
#将宿主机的目录/vae/www目录分别挂载到容器 ydq1和ydq2的/data1 和/data2目录上
//指定目录即使没有,也会自动创建

echo "这都是些什么玩意,cao" > /var/www/ky20.txt

登录到ydq1和ydq2容器,查看挂载目录的文件是否一致

docker exec -it ydq1 bash

docker exec -it ydq2 bash

在ydq1容器的目录修改文件,然后去宿主机查看和ydq2容器查看

三、数据卷容器

1、数据卷容器作用

让两个容器实现数据共享

如果需要在容器之间共享一些数据,最简单的方法就是使用数据容器,数据卷容器是一个普通的容器,专门提供数据卷给其它容器挂载使用。

php ----》mysql之间想要通讯,通过socker

2、数据卷容器案例

创建数据卷容器

docker run -it --name test1 -v /data1 -v /data2 centos:7 bash
#创建容器并进入容器,并共享/data1 和/data2目录

echo "这是data1下面的文件" > /data1/test.txt
echo "这是data2下面的文件" > /data2/TEST.txt
#容器内创建两个测试文件

docker run -it --name test2 --volumes-from test1 centos:7 bash
#创建容器并进入,并且去读取test1容器共享的目录

cat /data1/test.txt
cat /data2/TEST.txt
#查看测试数据是否同步(可相互传输)

四、容器互连(centos镜像)

  • 容器互连通过容器的名称在容器间建立一条专门的网络通信隧道,

  • 简单点说,就是会在源容器和接收容器之间建立一条隧道,接收容器可以看到源容器指定的信息。

dcoker run -itd --name test1 /bin/bash
docker run -itd --name test2 /bin.bash
#创建两个容器

docker exec -it test1 /bin/bash
#进入到容器test1中
ping test2
#尝试ping test2,查看是否连通

docker exec -it test2 /bin/bash
#进入到容器test2
yum -y install net-tools
#下载工具
ifconfig
#查看ip 

docker run -itd -P --name test3 --link test2:test2 centos:7 /bin/bash
#创建并运行就收容器取名为test3,使用--link选项指定链接容器,以实现容器的互连
//--link格式【容器名】:【链接的别名】

docker exec -it test3 /bin/bash
#进入到容器test3
ping test2
#查看是否可ping通
yum -y install net-tools
#下载工具
ifconfig
#查看ip 
ping 172.17.0.2
#使用ip ping test2的ip

http://www.lryc.cn/news/182889.html

相关文章:

  • HTML——列表,表格,表单内容的讲解
  • Mongodb学习
  • 2024届计算机毕业生福利来啦!Python毕业设计选题分享Django毕设选题大全Flask毕设选题最易过题目
  • 网络爬虫指南
  • 9、媒体元素标签
  • php单独使用think-rom数据库 | thinkphp手动关闭数据库连接
  • 337. 打家劫舍 III
  • tio-websocket-spring-boot-starter的最简单实例,看完你一定有所收获
  • 列出连通集
  • 前端 富文本编辑器原理——从javascript、html、css开始入门
  • 堆--数据流中第K大元素
  • 【算法|动态规划No.12】leetcode152. 乘积最大子数组
  • Covert Communication 与选择波束(毫米波,大规模MIMO,可重构全息表面)
  • 计算机毕业设计 基于协调过滤算法的绿色食品推荐系统的设计与实现 Java实战项目 附源码+文档+视频讲解
  • 华为云云耀云服务器L实例评测|部署在线影音媒体系统 Jellyfin
  • GhostNet原理解析及pytorch实现
  • 视频二维码的制作方法,支持内容修改编辑
  • 清华GLM部署记录
  • 贪心算法+练习
  • 使用华为eNSP组网试验⑷-OSPF多区域组网
  • P1843 奶牛晒衣服 【贪心】
  • 91、Redis - 事务 与 订阅-发布 相关的命令 及 演示
  • GPU如何成为AI的加速器
  • Map声明、元素访问及遍历、⼯⼚模式、实现 Set - GO语言从入门到实战
  • 机器人中的数值优化|【七】线性搜索牛顿共轭梯度法、可信域牛顿共轭梯度法
  • websocket实现go(server)与c#(client)通讯
  • 洛谷题目题解详细解答
  • 【C语言】八大排序算法
  • 2023年中国智能电视柜产量、需求量、市场规模及行业价格走势[图]
  • docker容器使用初体验