容器之间绑定数据卷

容器之间绑定数据卷

docker run -it --name centos02 --volumes-from centos01 镜像ID
[root@iZbp1htnoa70qlle394f3wZ /]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
luoking/centos 1.0 4d030b2b738b 17 hours ago 231MB
nginx latest 605c77e624dd 3 months ago 141MB
tomcat 9.0 b8e65a4d736d 4 months ago 680MB
mysql 5.7 c20987f18b13 4 months ago 448MB
centos latest 5d0da3dc9764 7 months ago 231MB
portainer/portainer latest 580c0e4e98b0 13 months ago 79.1MB
[root@iZbp1htnoa70qlle394f3wZ /]# docker run -it --name centos01 4d030b2b738b
[root@d95c9aa03171 /]# ls
bin etc lib lost+found mnt proc run srv tmp var volume02
dev home lib64 media opt root sbin sys usr volume01
[root@d95c9aa03171 /]# cd volume01
[root@d95c9aa03171 volume01]# ls #查看volume01目录,什么也没有
[root@d95c9aa03171 volume01]# exit
exit
[root@iZbp1htnoa70qlle394f3wZ /]# docker run -it --name centos02 --volumes-from centos01 4d030b2b738b
[root@a20d9280fe54 /]# ls
bin etc lib lost+found mnt proc run srv tmp var volume02
dev home lib64 media opt root sbin sys usr volume01
[root@a20d9280fe54 /]# cd volume01
[root@a20d9280fe54 volume01]# touch luoking.java #在centos02的volume01中创建luoking.java
[root@a20d9280fe54 volume01]# ls
luoking.java
[root@a20d9280fe54 volume01]# [root@iZbp1htnoa70qlle394f3wZ /]#
[root@iZbp1htnoa70qlle394f3wZ /]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
a20d9280fe54 4d030b2b738b "/bin/sh -c /bin/bash" 42 seconds ago Up 42 seconds centos02
[root@iZbp1htnoa70qlle394f3wZ /]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
a20d9280fe54 4d030b2b738b "/bin/sh -c /bin/bash" About a minute ago Up About a minute centos02
d95c9aa03171 4d030b2b738b "/bin/sh -c /bin/bash" 4 minutes ago Exited (127) 3 minutes ago centos01
[root@iZbp1htnoa70qlle394f3wZ /]# docker start d95c9aa03171 #启动容器01
d95c9aa03171
[root@iZbp1htnoa70qlle394f3wZ /]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
a20d9280fe54 4d030b2b738b "/bin/sh -c /bin/bash" 3 minutes ago Up 3 minutes centos02
d95c9aa03171 4d030b2b738b "/bin/sh -c /bin/bash" 6 minutes ago Up 40 seconds centos01
[root@iZbp1htnoa70qlle394f3wZ /]# docker exec -it d95c9aa03171 /bin/bash
[root@d95c9aa03171 /]# cd /volume01
[root@d95c9aa03171 volume01]# ls #发现数据已经同步
luoking.java

查看两个容器关于数据卷的数据

[root@iZbp1htnoa70qlle394f3wZ /]# docker inspect d95c9aa03171 #centos01的元数据
[
"Mounts": [
{
"Type": "volume",
"Name": "ced190e625bd248c4b8a6e95805510145bb0544970f7d1101e823502a4407b74",
"Source": "/var/lib/docker/volumes/ced190e625bd248c4b8a6e95805510145bb0544970f7d1101e823502a4407b74/_data",
"Destination": "volume01",
"Driver": "local",
"Mode": "",
"RW": true,
"Propagation": ""
},
{
"Type": "volume",
"Name": "42c76f243df32d5988999dc64ed000295a74d3758c6d5efb06ae30e3aef2075d",
"Source": "/var/lib/docker/volumes/42c76f243df32d5988999dc64ed000295a74d3758c6d5efb06ae30e3aef2075d/_data",
"Destination": "volume02",
"Driver": "local",
"Mode": "",
"RW": true,
"Propagation": ""
}
],
]
[root@iZbp1htnoa70qlle394f3wZ /]# docker inspect a20d9280fe54 #容器centos02的元数据
[
"Mounts": [
{
"Type": "volume",
"Name": "ced190e625bd248c4b8a6e95805510145bb0544970f7d1101e823502a4407b74",
"Source": "/var/lib/docker/volumes/ced190e625bd248c4b8a6e95805510145bb0544970f7d1101e823502a4407b74/_data",
"Destination": "volume01",
"Driver": "local",
"Mode": "",
"RW": true,
"Propagation": ""
},
{
"Type": "volume",
"Name": "42c76f243df32d5988999dc64ed000295a74d3758c6d5efb06ae30e3aef2075d",
"Source": "/var/lib/docker/volumes/42c76f243df32d5988999dc64ed000295a74d3758c6d5efb06ae30e3aef2075d/_data",
"Destination": "volume02",
"Driver": "local",
"Mode": "",
"RW": true,
"Propagation": ""
}
],
]

发现他们两个数据卷指向本地的同一个文件,他们的数据也就同步到了本地

posted @   小罗要有出息  阅读(41)  评论(0编辑  收藏  举报
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 字符编码:从基础到乱码解决
点击右上角即可分享
微信分享提示