Docker简介:
Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux或Windows *** 作系统的机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。
一个完整的Docker有以下几个部分组成:
DockerClient客户端
Docker Daemon守护进程
Docker Image镜像
DockerContainer容器
项目开发中遇到的问题:
大型项目组件较多,运行环境也比较复杂,部署时会碰到一些问题:
- 依赖关系复杂,容易出现兼容性问题
- 开发,测试,生产环境有差异
Docker如何解决这些问题:
解决依赖复杂问题:
- 将应用的Libs(函数库)、Deps(依赖)、配置与应用一起打包
- 将每个应用放到一个隔离容器去运行,避免互相干扰
解决系统环境不同的问题:
- Docker将用户程序与所需要调用的系统(比如CentOS)函数库一起打包
- Docker运行到不同 *** 作系统时,直接基于打包的库函数,借助于 *** 作系统的Linux内核来运行
Docker架构:
- 镜像(Image):
Docker将应用程序及其所需的依赖、函数库、环境、配置文件等打包在一起,称为镜像。镜像是只读的,不可被污染 - 容器(Container):
镜像中的应用程序运行后形成的进程就是容器,只是Docker会给容器做隔离,对外不可见。 - 架构,Docker是一个CS架构的程序,由两部分组成:
服务端(server):Docker守护进程,负责处理Docker指令,管理镜像、容器等
客户端(client): 通过命令或RestAPI向Docker服务端发送指令。可以在本地或远程向服务端发送指令。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)