标签:docker入门
docker是一个开源的应用容器引擎,使用go语言开发;基于linux内核技术对应用程序进行隔离;
核心理念是将应用及依赖包打包到一个可移植的容器中;
可发布到任意linux发行版的docker引擎上;
使用沙箱机制运行程序:
(应用程序只能访问自己的目录,这个目录称为沙箱目录,而应用程序之间禁止数据的共享和访问; 沙箱机制是一种安全机制,设计原理就是只能允许自己的应用访问目录,而不允许其他的应用访问;
在iOS系统中,除了特有的应用可以通过使用特定的API共享数据(例如联系人),而其他的应用之间都不能共享数据。)
Engine:处理docker客户端的请求,并进行相关的分发,下载镜像--image repository--;
runC:挂载文件系统并启动容器;
启动时间不同
虚拟机分钟级,docker秒级
轻量级
docker以M为单位,虚拟机以G为单位
性能
docker更快速
安全性:
不如虚拟机,一定程度上需要访问物理机内核;如何解决?
使用要求
结合实际环境;docker适合快速部署等
场景一:节省项目环境部署时间
1.单项目打包
2.整套项目打包
利用docker-compose
3.新开源技术试用
场景二:环境的一致性
便于移植,多次利用部署,保持运行状态一致性;
场景三:持续集成:
docker+jenkins构建持续集成环境:
场景四:微服务
将业务架构拆分成微小的业务去组织整体业务;
一个容器中只运行一个服务,容器之间隔离;
docker EE是企业版本,提供技术支持等;
docker CE是公共版本;
标签:docker入门
原文地址:http://blog.51cto.com/summer37/2112833