目录
tomcat容器的安装和启动及镜像和commit指令深入分析
一、镜像原理
为什么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的共享数据文件夹,说明容器之间数据是共享的
总结:都可以访问