docker的深入浅出--2.镜像原理和分层结构及commit指令的使用及容器数据卷(数据共享)及数据卷容器

目录

 

一、镜像原理

为什么tomcat的镜像会有400多mb

镜像为什么要使用分层结构

  二、commit指令的使用

tomcat容器的安装和启动及镜像和commit指令深入分析

 三、docker容器数据卷(数据共享)

1、直接通过命令

创建centos容器数据卷

创建并设置数据卷权限

 2、DockerFile创建数据卷

 四、docker数据卷容器

1、实现容器之间数据共享


一、镜像原理

为什么tomcat的镜像会有400多mb

 在tomcat的镜像中是多层嵌套的,前面我们提到过容器就相当于一个缩小版的Linux,而镜像和容器的结构是差不多的,每个容器是相互独立的,那这样的话,tomcat要实现部署和运行,首先最底层要有kernel,然后外部得有centos系统,tomcat运行底层还需要依赖jdk等等,所以tomcat的镜像会有400多MB。

镜像为什么要使用分层结构

  二、commit指令的使用

tomcat容器的安装和启动及镜像和commit指令深入分析

交互式运行和后台运行,-it运行之后会在终端打印,-d运行之后不会在终端打印日志 

  

 现在,如果在tomcat的容器中删除了它的doc文档介绍,那么它以后通过容器创建的镜像然后在创建容器都会缺少该文档

 通过我们设置的容器为模板创建一个新的容器

 创建容器

 三、docker容器数据卷(数据共享)

 作用:

卷就是目录或文件,存在于一个或多个容器中,由docker挂载到容器,但不属于联合文件系统,因此能够绕过Union File System提供一些用于持续存储或共享数据的特性:

卷的设计目的就是数据的持久化,完全独立于容器的生存周期,因此Docker不会在容器删除时删除其挂载的数据卷

特点:

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

2: 卷中的更改可以直接生效

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

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

1、直接通过命令

创建centos容器数据卷

查看centos容器的文件结构

 

 检查是否实现了数据共享

在主机中创建host.txt文件

在centos容器中 

 

创建并设置数据卷权限

 在主机创建文件并添加内容

 在容器中操作touch没有权限

 inspect指令查看centos容器的文件结构

 2、DockerFile创建数据卷

当前在主机中

创建dockerfile文件

 生成自定义centos容器

 

 运行容器

查看是否存在数据卷

 

inspect指令查看centos容器的文件结构

 

可以看到主机上的共享数据卷

 

如果出现一下问题

 

 四、docker数据卷容器

命名的容器挂载数据卷,其它容器通过挂载这个(父容器)实现数据共享,挂载数据卷的容器,称之为数据卷容器。简单来说就是容器间实现数据共享。

1、实现容器之间数据共享

运行容器

在共享文件中创建txt文件 

运行第二个容器以前一个数据卷作为自身的共享数据卷

查看dc02的共享数据文件夹,说明容器之间数据是共享的

 总结:都可以访问

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值