docker 容器数据卷

  看到这篇文章,你一定是在学习 docker 相关的知识,没错,容器虚拟化技术。神奇的地方在于我们的一些中间件 ,还有像tomcat 这样的,nginx 这样的,都可以以容器的形式运行。好处就不多说了,我说一下疑问,自己前一段时间学了 ELK,就是一套对日志数据进行捕获监控分析挖掘的技术。 那么疑问来了,之前部署这些,我们都能看到运行在linux服务器上的像nginx 这些,那么容器化了以后,我搭建的ELK环境上哪儿去分析监控日志数据呢?

   这就是今天的docker 相关的一个主题,数据卷,也是本篇文章的主角。

  简单的看一下需求:我们希望运行在容器中的数据能够保存在硬盘中。

 

# # 容器就像是集装箱一样

   docker  容器就像码头的集装箱一样,用于隔离,我们有时候又有需求进行互通。 

 

# # 数据卷是什么?

 

 # # 容器能干什么

 实现主机到容器,容器到主机的数据 共享。

  可以理解为一个内置的活动硬盘。

 主要做容器数据持久化,和容器之间数据的共享

 

# # 容器数据卷怎么操作,怎么添加

一共有两种方案,一种是直接命令添加,一种是通多 dockerFile

 

# # 命令的形式添加容器数据卷

docker  run  -it   -v   /宿主机目录:/容器目录    镜像名

 这条命令,会在宿主机上创建一个目录,我们可以在上边指定,在容器里边创建一个制定名字的目录。

查看是否挂载成功:根据 容器ID 查询  然后docker  inspect  容器号

 

 

 测试是否能够共享数据:在宿主机中创建一个文件,发现容器里边也有同样的一个文件。

 

 

# # docker 里边起的容器 关闭以后,数据卷数据还能同步吗?

  答案是肯定的,仍然能够同步

 

# # 看一下 通过 DockerFile 的方式来加数据卷

这就相当于是下边的 docker  run  -it   -v 的命令

接着构建成镜像   docker  build  -f  /dockerFile文件的目录   -t  作者/镜像名字

 上边的内容就是dockerFile ,红色框起来的就是创建两个数据卷 

 你会发现,哎没有和宿主机对应起来呀。这个是默认的,默认会对应宿主机的一个目录,可以根据   

 docker  容器ID  inspect   命令来查看对应的目录是什么

 

 


  前边的内容已经可以让我们在 容器 和 宿主机 打穿了通道,接下来就是 容器与容器之间的打开通道了。

 

 docker  run  -it  --name  dc01  centos

 启动一个centos 容器, 重命名为 dc01  , centos 为镜像名字

 

 docker  run  -it   --name  dc02   --valumes-from  dc01  centos

 再启动一个容器,命名为 dc02  然后与 dc01 容器的数据卷打开通道。

 

 以此为例, 我们启动了 A  B   C  三个容器, 只要已经建立了共享数据卷 ,可以理解为建了一个游乐园,最开始A进来了,B进来了,如果A走了,还是不耽误B在这里边,如果C也进来了,C和B仍然可以共享数据。

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值