Docker数据卷及Dockerfile

本文详细介绍了Docker数据卷的使用,包括直接命令添加和通过Dockerfile添加,强调了数据卷在容器数据持久化和共享中的作用。同时,探讨了Dockerfile的构建过程和常用指令,如COPY、ADD、CMD、ENTRYPOINT和ONBUILD,强调了容器应以前台执行的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

容器数据卷

将运用与运行的环境打包形成容器运行,运行可以伴随着容器,但是我们对数据的要求希望是持久的
容器之间希望有可能共享数据

docker产生的数据,如果不通过docke commit生成新的镜像,使得数据作为镜像的一部分保存下来,那么当容器删除后,数据自然就没有了。为了能保存数据在docker中,所以使用容器数据卷。

容器数据卷类似于redis里面的rdb和aof文件

能干嘛?容器的持久化、容器间继承+共享数据

特点:

  • 数据卷可在容器直接按共享或重用数据
  • 卷重的更改可以直接生效
  • 数据卷中的更改不回包含在镜像的更新中
  • 数据卷的生命周期一直持续到没有容器使用它为止。

容器内添加

直接命令添加

docker run -it -v /宿主机绝对路径目录:容器内目录 镜像名字 # v 为volume 在两者之间建立连接

docker inspect 容器ID
#查看数据卷是否挂载成功

容器和宿主机之间数据共享 #分别进入查看

容器停止退出后,主机修改后数据是否同步
命令(带权限)
docker run -it -v/宿主机绝对路径目录:/容器内目录:ro镜像名 # ro only read
如果写权限不够的话,添加–privileged=true

DockerFile添加

根目录下新建mydocker文件夹并进入
可在DockerFile中使用volume指令来给镜像添加一个或多个数据卷
file构建 #编写脚本
build后生成镜像
run容器
主机对应默认地址 #docker inspect 容器ID查看

数据卷容器

命名的容器挂载数据卷,其它容器通过挂载这个(父容器)实现数据共享,挂载数据卷的容器,称之为数据卷容器。
–volumes-from

范例过程如下:
新建一个容器,并且建立
docker run -it -v /root/datavolume:/root/datavolume01 --name cq1 centos
在容器cq1中进入共享目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值