docker容器数据卷(七)

目录

1,什么是容器数据卷

2,容器数据卷能做什么

3,添加数据卷的方式

3.1直接使用命令添加

3.2使用DockerFile添加


1,什么是容器数据卷

先来看看Docker的理念:

* 将应用与运行的环境打包形成容器运行 ,运行可以伴随着容器,但是我们对数据的要求希望是持久化的

* 容器之间希望有可能共享数据

Docker容器产生的数据,如果不通过docker commit生成新的镜像,使得数据做为镜像的一部分保存下来,

那么当容器删除后,数据自然也就没有了。

为了能保存数据在docker中我们使用卷。

 

 

2,容器数据卷能做什么

1,容器数据的持久化(如mysql的存储文件)

2,容器之间继承和共享数据

 

3,添加数据卷的方式

3.1直接使用命令添加

语法

docker run -it -v /宿主机目录:/容器内目录  --privileged=true centos /bin/bash

查看容器卷是否挂载成功

docker inspect 容器ID

                                        

查看容器卷和宿主机的数据共享

在宿主机的mycentos001中创建hello.txt文件并写入数据mycentos001

进入容器查看container001里面有hello.txt文件数据和mycentos001里面的一样

注意:在以上的例子中,默认的只能在宿主机里面写数据。

如果出以下的问题

                                       

解决办法:在挂载目录后多加一个--privileged=true参数即可

                                       

④查看容器停止后,主机修改数据是否同步

                                      

⑤带权限的处理方式

                                       

 

3.2使用DockerFile添加

①在宿主机的根目录下创建mydocker文件夹并进入

                                            

②在当前目录创建一个DockerFile的文件

                                       

③编写DockerFile

                                            

FROM centos
VOLUME ["/dataContainer1","/dataContainer2"]
CMD echo "finished,--------success1"
CMD /bin/bash
 

④build生成一个新的镜像

docker build -f /mydocker/DockerFile -t laolei/centos .   #注意后面有一个点哦

                                         

⑤启动容器

docker run -it --name='mycentos' laolei/centos

⑥查看容器里面有两个容器卷

                                         

 

                  

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值