Docker学习之容器数据卷

1.什么是Docker容器数据卷? 这要从docker的理念开始讲起 。docker是将应用和运行的环境打包成容器运行,有时在容器运行时产生的文件是我们需要的,但是随着容器的关闭这些文件会消失。我们将文件持久化。还有另外的一种需求,我们希望容器之间可以共享数据为了数据能够保存,我们使用卷。类似于redis中的rdb和aof文件

2.Docker容器数据卷能干什么
·容器持久化
·容器间的继承+共享数据

3.容器内添加数据卷

直接命令添加
创建一个docker终端

systemctl start docker  #启动docker
docker run -it -v /hostVolume:/dockerVolume centos /bin/bash 
 # docker run -it -v /宿主机目录:/容器内目录 centos /bin/bash

创建一个新的host终端,在新的终端中查看docker中运行的进程

docker ps  # 查看docker中运行的进程

在这里插入图片描述

  	docker inspect 077d4494ee7f
	#获取容器/镜像的元数据。在输出结果的Mounts中source是宿主机目录,detemination为容器内目录
    cd /hostVolume  #进入宿主机目录
    touch host.txt  #在主机目录下创建一个txt文件
    

此时在docker终端

cd /dockerVolume  
ls  #可以观察到host.txt  实现了共享

Dockerfile添加
创建两个终端,host和docker

在根目录下创建mydocker目录
在目录里面创建Dockerfile文件,在文件中简单构建file,

在这里插入图片描述

Dockerfile,创建了两个容器目录
在这里插入图片描述
bulid生成新的镜像

docker build -f /mydocker/Dockerfile -t lin/centos .  
# 生成lin.centos镜像 , 并且运行Dockerfile
docker images # 打印镜像id  
docker run -it [centos镜像Id]   # 运行镜像
docker ps -q #打印正在运行的容器id
docker inspect [容器id]   

虽然我们自己build的时候没有指定宿主容器目录,但是docker自动为宿主机创建了目录
在这里插入图片描述

此时在宿主机目录,即source下创建文件,一样可以在docker中创建的dataVolumeContainer1中查看到

备注:当容器停止后,宿主机目录,即source下创建文件,docker启动后,在dataVolumeContainer1中可以查看到

4.容器间的传递共享
容器与容器之间的数据传递与共享,容器之间不管如何继承,如何删除,数据卷的生命周期会一直持续到最后一个容器被删除,数据卷的生命周期才会截止

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值