数据卷容器

如果用户想在多个容器间共享一些更新的数据,最简单的方式就是使用数据卷容器。数据卷容器也是一种容器,但是它的目的是专门提供数据卷给其他容器挂载。

1.创建数据卷容器

创建数据卷容器dbdata,并在其中创建一个数据卷挂载到/dbdata

$ docker run -it -v /dbdata --name dbdata ubuntu
root@7643b185c8ec:/# 

查看/dbdata目录:

root@7643b185c8ec:/# ls
bin   dbdata  etc   lib    lib64   media  opt   root  sbin  sys  usr
boot  dev     home  lib32  libx32  mnt    proc  run   srv   tmp  var

可以在其他容器中使用–volumes-from来挂载dbdata容器中的数据卷,例如创建db1和db2两个容器,并从dbdata容器挂载数据卷:

$ docker run -it --volumes-from dbdata --name db1 ubuntu
$ docker run -it --volumes-from dbdata --name db2 ubuntu

此时,容器db1和db2都挂载同一个数据卷到相同的/dbdata目录,三个容器任何一个目录下的写入,其他容器都可以看到:
在db2中创建test文件:

$ docker run -it --volumes-from dbdata --name db2 ubuntu
root@cdfa5d2a125e:/# ls
bin   dbdata  etc   lib    lib64   media  opt   root  sbin  sys  usr
boot  dev     home  lib32  libx32  mnt    proc  run   srv   tmp  var
root@cdfa5d2a125e:/# cd dbdata/
root@cdfa5d2a125e:/dbdata# touch test
root@cdfa5d2a125e:/dbdata# ls /dbdata/
test

在db1容器中查看它:

$ docker run -it --volumes-from dbdata --name db1 ubuntu
root@7c4be0f1206d:/# ls /dbdata/
test
root@7c4be0f1206d:/# 

可以使用–volumes-from参数从多个容器挂载多个数据卷,还可以从其他已经挂载了容器卷的容器来挂载数据卷:

docker run -d --name db3 --volumes-from db1 training/postgres

ps:
使用–volumes-from参数所挂载数据卷的容器本身并不需要保持在线状态。
删除了挂载的容器(包括dbdata、db1、db2),数据卷并不会被自动删除,必须删除最后一个还挂载它的容器时显示使用docker rm -v命令来指定删除关联的容器。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

云原生解决方案

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值