Docker 容器数据卷

通常我们需要将主机中的数据和容器中的数据进行共享

一:使用V命令与容器共享文件

  •    docker run -v 主机中的文件:容器中的文件 镜像名
docker run -it -v /myDataVollume:/dataContainerVolume centos

我这里启动一个centos的实例:将主机中 myDataVollume 和容器中 dataContainerVolume 文件夹共享,不论是修改主机还是容器文件夹中的数据,两边的数据都会同步

  • docker run -v 主机中的文件:容器中的文件:ro 镜像名

在容器中文件后加 :ro ,则容器中文件为只读

docker run -it -v /myDataVollume:/dataContainerVolume:ro centos
  • 使用 docker inspect 实例名和可以查看容器实例的相信信息

使用  docker inspect 容器实例名  查看实例详细参数

由于运行是没有指定运行实例名称,所以自动生成的实例名称 nervous_grothendieck

这里采用 docker inspect 实例名  查看详细信息,注意其中有三项参数可以看到容器文件共享的详细信息

其中  RW  为文件是否为只读 

 

二:使用DockerFile添加文件

  • 编写DockerFile
#volume tset
FROM centos
VOLUME ["/dataVolumeContainer1","dataVolumeContainer2"]
CMD echo "finashed,-------------success1"
CMD /bin/bash

在容器中添加文件夹  dataVolumeContainer1  和  dataVolumeContainer2  

  • 构建镜像
docker build -f /mydocker/Dockerfile -t Lee/centos .

-f 指定DockerFile的文件路径 注意最后有一个  '.'

docker images 就可以看到生成的镜像了

我们将生成的centos镜像跑起来就可以在其中看到生成的两个文件夹了

这里我们没有指定主机中与容器对应文件的路径,我们可以使用 docker inspect 实例ID  查看

这里重点说明一个问题:若发现dockers访问挂在目录时不能打开文件夹,则在挂在目录后多加一个参数  --privileged=true  即可

docker run it -v /myDataVolume:/dataVolumeContainer --privileged=true centos

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值