Docker底层原理
镜像是什么
镜像是一种轻量级、可执行的独立软件包,用来打包软件运行环境和基于运行环境开发的软件,它包含运行某个软件所需的所有内容,包括代码、运行时、库、环境变量和配置文件。
所有的应用,直接打包成为一个docker镜像,就可以直接跑起来。
如何得到镜像:
- 从镜像仓库下载(类似GitHub)
- 从同事、合作伙伴那里得到
- 自己制作镜像(docker file)
底层原理
Docker是怎么工作的?
Docker是一个Client-Serve结构的系统,Docker的守护进程在主机上,通过Socket从客户端访问!
Docker server接受Docker Client的指令
Docker为什么比VM快?
- Docker有着比虚拟机更少的抽象层
- docker主要用的是宿主机的内核,vm需要Guest OS
所以说新建一个容器的时候,docker不需要像虚拟机一样重新加载一个操作系统内核,避免引导。
UnionFS 联合文件系统
Docker镜像都是只读的,当容器启动时,一个新的可写层被加到镜像的顶部,这一层就是我们通常说的容器层,容器层之下的都叫镜像层
你的每一次改动,都是在原有的镜像层之上增加的,如果想要更新改动,那么就会生成一个新的镜像。