Docker学习——镜像、容器数据卷

Docker学习——镜像、容器数据卷

镜像

什么是镜像

镜像是一种轻量级、可执行独立软件包,它包含运行某个软件所需的所有内容,我们把应用程序和配置依赖打包好形成一个可交付的运行环境(包括代码、运行时需要的库、环境变量和配置文件等),这个打包好的运行环境就是image镜像文件。

只有通过这个镜像文件才能生成Docker容器实例(类似Java中new出来一个对象)。

镜像是分层的。

联合文件系统

UnionFS(联合文件系统):

Union文件系统(UnionFS)是一种分层、轻量级并且高性能的文件系统,它支持对文件系统的修改作为一次提交来一层层的叠加,同时可以将不同目录挂载到同一个虚拟文件系统下。Union 文件系统是 Docker 镜像的基础。镜像可以通过分层来进行继承,基于基础镜像(类似于Java的object类,没有父镜像),可以制作各种具体的应用镜像。

镜像分层最大的一个好处就是共享资源,方便复制迁移,就是为了复用。

Docker镜像层都是只读的,容器层是可写的

Docker镜像commit操作

· 提交容器副本使之成为一个新的镜像

docker commit
docker commit -m="提交的描述信息" -a="作者" 容器ID 要创建的目标镜像名:[标签名]

Docker容器数据卷

什么是卷

卷就是目录或文件,存在于一个或多个容器中,由docker挂载到容器,但不属于联合文件系统。卷的设计目的就是数据的持久化,完全独立于容器的生存周期,因此Docker不会在容器删除时删除其挂载的数据卷。

· 运行一个带有容器卷存储功能的容器实例

记得记得要加 --privileged=true

docker run -it --privileged=true -v /宿主机绝对路径目录:/容器内目录  镜像名

· 查看数据卷是否挂载成功

docker inspect 容器ID

卷的特点

1、数据卷可在容器之间共享或重用数据

2、卷中的更改可以直接实时生效

3、数据卷中的更改不会包含在镜像的更新中

4、数据卷的生命周期一直持续到没有容器使用它为止

5、容器和宿主机之间数据共享

​ 1)docker修改,主机同步获得

​ 2)主机修改,docker同步获得

​ 3)docker容器stop,主机修改,docker容器重启数据依然同步。

读写规则映射添加

默认就是有读和写的权限 rw

docker run -it --privileged=true -v /宿主机绝对路径目录:/容器内目录:rw   镜像名

只读权限 ro

docker run -it --privileged=true -v /宿主机绝对路径目录:/容器内目录:ro   镜像名

卷的继承和共享

–volumes-from 父类 来继承

继承的是挂载路径和规则,父类没了也没关系,重启还是能够同步

docker run -it  --privileged=true --volumes-from 父类  --name XX  镜像名
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值