docker容器的数据管理(复习四)

使用docker的时候,往往需要查看容器内的数据,或者将容器内的数据进行备份。
数据的管理方式主要有两种:

  • 数据卷
  • 数据卷容器
一、数据卷

数据卷主要是用来在容器之间进行共享和重用的。

1.挂载一个主机目录作为数据卷。

docker run -d -P --name web --privileged=true -v /docker/webapps:/opt/webapps centos

在这里插入图片描述
参数解释:-P 保留所有容器需要暴露的端口(比如8080等等),后面会有-p
– name:给容器设置名字。-v:挂载数据卷。就是将容器的数据和本地的数据完成同步。:前面的路径是本地的路径,:后面的路径是容器内的路径。挂载数据卷的目的就是完成容器内的数据和本地的数据同步,只要容器内的数据有变化,本地立刻给备份了。
2.ro只读

docker run -ti -P --name web1 -v /docker/webapps:/opt/webapps:ro centos

加上:ro之后,容器内挂载的数据卷的数据就无法修改了。

二、数据卷容器

上面我们讨论的主机与容器之间的数据同步,那么容器与容器之间的数据同步怎么做到呢。最简单的当时是使用数据卷容器。数据卷容器也是一个容器,专门用这个容器来提供数据卷供其他容器挂载使用。
1.创建数据卷容器,使用-v创建数据卷dbdata目录,数据卷容器命名是db

docker run -d -v /dbdata --name db centos

在这里插入图片描述
2.将数据卷容器挂载到两个容器中,使用–volumes-from来挂载db容器中的数据卷。说白了,就是使用db这个容器来作为单独一个容器完成对多个容器的数据的互联。

docker run -d --volumes-from db --name db1 centos
docker run -d --volumes-from db --name db2 centos

在这里插入图片描述
注意:

  • 使⽤—volumes-from参数所挂载数据卷的容器⾃身并不需要保持在运⾏状态。
  • 如果删除了挂载的容器(db1,db2等),。如果要删除⼀个数据卷,必须在删除最后⼀个还挂载着它的容器时显示使⽤docker rm -v命令来指定同时删除关联的容器。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值