1.Docker概述
(1)基本介绍
Docker是一个开源的应用容器引擎,基于Go语言并遵从Apache2.0协议开源。
它可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的镜像中,然后发布到任何流行的 Linux或Windows操作系统的机器上,也可以实现虚拟化。
容器是完全使用沙箱机制,相互之间不会有任何接口,容器开销极地。
Docker从17.03版本之后分为CE(社区版)和 EE(企业版)。点此进入官网文档
(2)应用场景
-
Web应用的自动化打包和分布
-
自动化测试和持续集成、发布
-
在服务型环境中部署和调整数据库或其他的后台应用
-
从头编译或扩展现有的OpenShift或Cloud Foundry平台来搭建自己的Paas环境
(3)Docker的优势
Docker是一个用于开发,交付和运行应用程序的开放平台。
- 快速、一致地交付您的应用程序
- 响应式部署和扩展
- 在同一硬件上运行更多工作负载
2.虚拟化技术和容器技术
虚拟化技术特点:
1、资源占用十分多 2、冗余步骤多 3、启动很慢
容器化技术:
容器化技术不是模拟的一个完整的操作系统
比较Docker和虚拟化技术的不同:
- 传统虚拟机,虚拟出一条硬件,运行一个完整的操作系统,然后在这个系统上安装和运行软件
- 容器内的应用直接运行在宿主机的内容,容器是没有自己的内核的,也没有虚拟我们的硬件,所以就轻便了
- 每个容器间是互相隔离,每个容器内都有一个属于自己的文件系统,互不影响。
容器化带来的好处
DevOps(开发、运维)
应用更快速的交付和部署:
传统:一堆帮助文档,安装程序
Docker:打包镜像发布测试,一键运行
更便捷的升级和扩缩容:
使用了Docker之后,我们部署应用就和搭积木一样!
项目打包为一个镜像,扩展服务器A - 服务器B
更简单的系统运维:
在容器化之后,我们的开发、测试环境都是高度一致的。
更高效的计算资源利用:
Docker是内核级别的虚拟化,在一个物理机上可以运行很多的容器示例!服务器的性能可能被压榨到极致。
更高效的计算资源利用:
Docker是内核级别的虚拟化,在一个物理机上可以运行很多的容器示例!服务器的性能可能被压榨到极致。