Docker镜像讲解
2022-01-04 本文已影响0人
小二哥很二
镜像是什么
镜像是以重轻量级、可执行的独立软件包,用来打包软件运行环境和基于运行环境开发的软件,它包含运行某个软件所需的所有内容,包括代码、运行时、库、环境变量和配置文件。
所有的应用,直接打包成docker镜像,就可以直接跑起来~方便扩展部署。
如何得到镜像呢?:
- 从远程仓库下载
- 朋友拷贝
- 自己制作一个镜像 DockerFile
Docker镜像加载远离
- UnionFS(联合文件系统)
我们下载的时候看到的一层层就是这个
UnionFS(联合文件系统):是一种分层、轻量级并且高性能的文件系统,它支持文件系统的修改作为一次提交来一层层的叠加,同时可以将不同目录挂载到同一个虚拟文件下系统(unite several directories into a single virtual filesystem)。Union文件系统是Docker镜像的基础。镜像可以通过分层来进行继承,基于基础镜像(没有父镜像),可以制作各种具体的应用镜像。
特性:一次同时加载多个文件系统,但从外面看起来,只能看到一个文件系统,联合加载会把各层文件系统叠加起来,这样最终文件系统会包含所有底层的文件和目录
分层概念
特点:Docker镜像都是只读的,当容器启动时,一个新的可写层被加载到镜像顶部,这一层就是我们通常说的容器层,容器之下都叫镜像层
commit镜像
docker commit # 提交容器成为一个新的副本
# 命令和git命令类似
docker commit -m="提交的描述信息" -a="作者" 容器id 目标镜像名:[TAG]
实战测试
# 1、启动一个默认的tomcat
# 2、发现这个默认的tomcat是没有webapps应用,官方的镜像默认webapps下面没有文件的
# 3、我自己拷贝进去了基本的文件
# 4、将我们操作过的容器通过commit提交为一个新的镜像!我们以后就使用我们修改过的镜像即可
[root@iZwz9ga2spyeb5u9tdq8t5Z /]# docker commit -a="erxiao" -m="add webapps" b160a880be28 tomcat02:1.0
image.png
学习方式说明:理解概念,实践和理念相结合~!
tomcat02就相当于VM的快照
到这里才算入门Docker!!!