5 docker-容器数据管理

一 容器内添加数据卷--直接用命令

1 不带权限挂载目录

docker run -it -v /宿主机绝对路径目录:/容器内目录 镜像名字
这两个目录不用提前建立,会自动生成,然后在宿主机或者容器里面对应的目录写入文件,看是否会自动同步(两者都可读可写)
例子:

docker run -itd -v /data/:/data centos bash

2 带权限的挂载目录

docker run -it -v /hostdir:/voludir:ro centos
容器里面没有写入权限,只有宿主机才可以写入

二 容器内添加数据卷--用dockerfile添加

1 用volume参数来添加数据卷,可以一次添加多个,我这里添加了两个

FROM centos

VOLUME ["/dataVolumeContainer1","/dataVolumeContainer2"]

CMD echo "finished,--------success1"

CMD /bin/bash

2 然后build,出现下面信息表示成功

docker build -f /mydocker/Dockerfile -t hnf/centos .

Sending build context to Docker daemon  2.048kB
Step 1/4 : FROM centos
 ---> 470671670cac
Step 2/4 : VOLUME ["/dataVolumeContainer1","/dataVolumeContainer2"]
 ---> [Warning] IPv4 forwarding is disabled. Networking will not work.
 ---> Running in 1174d3eb47d8
Removing intermediate container 1174d3eb47d8
 ---> c7014cc56c0a
Step 3/4 : CMD echo "finished,--------success1"
 ---> [Warning] IPv4 forwarding is disabled. Networking will not work.
 ---> Running in a5140e327aff
Removing intermediate container a5140e327aff
 ---> c32098c138eb
Step 4/4 : CMD /bin/bash
 ---> [Warning] IPv4 forwarding is disabled. Networking will not work.
 ---> Running in 2254626cd4a9
Removing intermediate container 2254626cd4a9
 ---> b9e86919260f
Successfully built b9e86919260f
Successfully tagged hnf/centos:latest

3 用新构建的镜像生成一个容器

docker run -it hnf/centos /bin/bash

去查看是否生成两个目录 dataVolumeContainer1 和dataVolumeContainer2

4 这两个目录对应的宿主机的目录在哪里,
通过docker inspect 2c38b4993770 查看


其中source是宿主机上面的目录,destination是容器里面的目录

三 容器里数据相互继承同步

1 先启动一个父容器
docker run -it --name dc01 hnf/centos 然后去dataVolumeContainer2 添加内容
2 然后启动dc02和dc03去继承dc01

docker run -it --name dc02 --volumes-from dc01 hnf/centos
docker run -it --name dc02 --volumes-from dc01 hnf/centos

然后你去dc02和dc03里面分别去新建文件,你会发现三个容器直接是相互同步的,
3 删除dc01看02和03数据是否还存在,答案是存在的

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值