【云原生】Docker的数据卷、数据卷容器,容器互联

news/2024/11/27 8:29:18/

1.数据卷(容器与宿主机之间数据共享)

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

想要将容器中的数据持久化,可以将宿主机目录挂载到容器中。

一般只建议在创建容器时进行挂载,不建议启动容器后再挂载。因为启动容器后再挂载的话,需要修改配置文件,且不一定能挂载成功。

 docker run -v 数据卷              #在容器内创建数据卷
 ​
 docker run -v 宿主机目录:数据卷    #将宿主机目录挂载到容器中
 #注意:宿主机本地目录的路径必须是使用绝对路径。如果路径不存在,Docker会自动创建相应的路径。
 #挂载后的目录默认可读可写
 

 

 #如果希望挂载后的目录为只读目录,可以在挂载时加:ro参数
 docker run -v 宿主机目录:数据卷:ro    #将宿主机目录挂载到容器中,只可读

 

2.  数据卷容器(容器与容器之间数据共享)

有时时候,容器之间共享一些数据,最简单的方法就是使用数据卷容器。数据卷容器是一个普通的容器,专门提供数据卷给其他容器挂载使用。 

#创建数据卷容器co1。创建/data1和/data2两个数据卷。
 docker run -id --name co1 -v /data1 -v /data2 -itd centos:7
 docker exec -it co1 bash                #进入co1容器
 
 #使用--volumes-from 来挂载co1容器中的数据卷到新的容器co2
 docker run -id --volumes-from co1 --name co2 centos:7
 docker exec -it co2 bash       #进入co2容器
 

 

3. 容器互联(使用centos镜像)

 容器互联是通过容器的名称在容器间建立一条专门的网络通信隧道。简单点说,就是会在源容器和接收容器之问建立一条隧道,接收容器可以看到源容器指定的信息。

3.1 实现容器互联 

#创建并运行源容器取名c1
 docker run -itd -P --name c1 centos:7 /bin/bash
 #创建并运行接收容器取名c2,使用--1ink选项指定连接容器c1以实现容器互联。
 docker run -itd -P --name c2 --link c1:c2 centos:7 /bin/bash
 ##--link 容器名:连接的别名
 ​
 #进c2容器,ping c1,通过容器名称或者别名都可以通信
 docker exec -it c2 bash
 
 #可以看到c1容器的IP地址
 ​
 #进入c1容器,查看c1的IP地址
 docker exec -it c1 bash
 yum install -y net-tools   #下载网络工具
 ifconfig                   #查看IP和c2中显示的一致

 

 

 

3.2 只通过IP进行通信

#创建容器c3,没有与c1做互联
 docker run -itd -P --name c3 centos:7 /bin/bash
 docker exec -it c3 bash      #进入容器c3
 #通过c1的容器名称和别名,都无法和c1通信
 ping c1        #提示:ping: c1: Name or service not known
 ping C1        #提示:ping: C1: Name or service not known
 #只能通过IP进行通信
 

 

 


http://www.ppmy.cn/news/220216.html

相关文章

如何使用ArcGIS计算容积率

字段计算 为建筑图层新建一个area字段,用于记录单层建筑的面积,如下图所示。 单层建筑面积 为建筑图层新建一个areaAll字段,用于记录总建筑面积,areaAllarea*floor,如下图所示。 计算总面积 为小区图层新建一个area…

如何实现Web3去中心化云计算的大规模采用?

随着区块链技术的迅猛发展,Web3去中心化云计算正在逐渐崭露头角。它以分布式、安全和透明的特点,为用户和企业提供了许多独特的优势。 然而,要实现Web3去中心化云计算的大规模采用,仍然面临着一些挑战。本文将探讨这些挑战&#x…

如何知道自己的电脑的牌子以及型号等信息

1.按住Window R键,在弹出的运行框里输入cmd; 2.在命令行窗口输入dxdiag,按回车键结束; 3.你就可以得到你的电脑信息了,如下图所示:

Vue、React使用 rimraf 快速删除node_modules

项目场景: 项目遇到不可逆的情况时,需要清除node_modules,重新install使用 npm run serve或npm run dev 无法运行项目时 实现目标: 使用cmd里面的指令来删除文件夹,快速删除node_modules,10秒钟删除node_modules …

Mocha AE:图层相关面板

Mocha AE 左侧的图层面板、图层属性面板以及边缘属性面板提供了与图层、样条、跟踪等相关的选项。 Layers 图层 图层的上下顺序相当重要。 上方所有图层的样条区域将被自动排除出跟踪遮罩 Track Mattes。 也可在同一图层上绘制多个样条形状。相交的样条区域将被排除出遮罩。 Vi…

WIN7装NVME SSD固态硬盘(傲腾Optane Memory)

win10 已经可以自动识别NVME硬盘,而Win7 想要使用NVME还需要安装两个补丁程序。 分别是 KB2990941 和 KB3087873 KB2990941 - Win7 能够识别NVME的主要补丁文件。但是安装这个修复程序后,可能会收到"0x0000007E"Stop 错误。 KB3087873 - 修复KB2990941 …

华硕主板Z390识别不到M2固态硬盘

主板能识别到SATA盘,U盘等,但却识别不到M.2接口的固态硬盘? 进入Bios界面,可以看到Storage信息,但是却显示盘是RAID类型,无法将其识别为可用的盘,如下图: 只需修改两处位置即可&…

ThinkPad(E431)光驱改SSD操作及重装系统(win10)

ThinkPad(E431)光驱改SSD操作及重装系统(win10) 光驱改SSD准备步骤 重装系统 光驱改SSD 电脑已用数年,然机械硬盘卡,恰逢双十一,遂入手一SSD。 准备 固态硬盘硬盘托架螺丝刀thinkpad e431 …