docker是什么?
docker一个容器化解决方案。它基于操作系统的虚拟化技术(cgroups,namespaces, aufs)来实现资源隔离,创建一个沙盒环境。
docker解决什么问题?
- 简化环境配置,保证每一个运行环境从系统层到应用层都是一样的
- 环境可以像应用代码一样版本化,使得环境升级便捷
- 可以使得软件拆分成若干标准化容器,然后像搭积木一样组合起来
容器化和传统虚拟机有什么区别?
容器化可以理解为一种轻量级虚拟化解决方案。
通过官网的两张图来对比两者的区别:
(第一张是容器化结构示意图,第二张是虚拟机结构示意图)
- 从上图可以看出最大区别就是,容器化技术是进程级别的隔离,虚拟化是操作系统级别的隔离。很显然起一个操作系统比起一个进程要耗资源,而且慢
- 由于容器化他是分层结构,那么不同的容器,如果有相同的依赖,那么他们是可以共享的,可以节省资源
参考
docker官方文档
docker简易入门
Docker — 从入门到实践
docker_practice