初识Docker:(1)什么是docker
- 项目部署的问题
- Docker
- 总结
项目部署的问题
大型项目组件较多,运行环境也较为复杂,部署时会碰到一些问题:
- 依赖关系复杂,容易出现兼容性问题
- 开发、测试、生产环境有差异
Docker
Docker如何解决依赖的兼容问题的?
- 将应用的Libs(函数库)、Deps(依赖)、配置与应用一起打包
- 将每个应用放到一个隔离
容器
去运行,避免互相干扰
内核与硬件交互,提供操作硬件的指令
系统应用封装内核指令为函数,便于程序员调用
用户程序基于系统函数库实现功能
Ubuntu和CentOS都是基于Linux内核,只是系统应用不同,提供的函数库
有差异
Docker如何解决不同系统环境的问题的?
- Docker将用户程序与所需要调用的系统(比如Ubuntu)函数库一起打包
- Docker运行到不同的操作系统时,直接基于打包的库函数,借助于操作系统的Linux内核来运行
总结
Docker如何解决大型项目依赖关系复杂,不同组件依赖的兼容性问题?
- Docker允许开发中降应用、依赖、函数库、配置一起
打包
,形成可移植镜像
- Docker应用运行在容器中,使用沙箱机制,相互
隔离
Docker如何解决开发、测试、生产环境有差异的问题?
- Docker镜像中包含完整运行环境,包括系统函数库,仅依赖系统的Linux内核,因此可以在任意Linux操作系统上运行