Docker简介
2015-06-27 10:54
537 查看
Docker简介
Docker是一个能够把开发的应用程序很方便地部署到容器的开源引擎。由Docker公司团队编写,基于Apache 2.0开源授权协议发行。Docker的主要目的如下:提供一个简单的,轻量的建模方式
Docker上手快,只需要几分钟就可以将自己的程序Docker化。Docker依赖写时复制技术,使修改应用程序非常迅速,达到“随心所至,代码即改”的境界。Docker启动速度非常快,大多数的Docker容器只需不到1秒钟的时间即可启动。由于除去了管理程序的开销,Docker容器拥有很高的性能,一台宿主机可以同时运行很多容器,要比虚拟机技术牛逼得多。职责的逻辑分离
使用Docker,开发人员只需要关系容器中运行的应用程序,而运维人员只需要关心如何管理容器,分离职责。快速、高效的开发生命周期
Docker的目标之一就是缩短代码从开发,测试到部署,上线运行的周期,让应用程序具备可移植性,易于构建,易于协作。鼓励使用面向服务的架构
Docker鼓励面向服务的架构和微服务架构,推荐单个容器只运行一个进程或程序。这样就形成了一个分布式的应用程序模型,在这种情况下,应用程序或者服务都可以表示为一系列内部互联的容器,从而使分布式部署应用程序,扩展或调试应用程序变得非常简单,同时也提高了程序的内省性。Docker组件
Docker包含如下组件:Docker客户端和服务器
Docker镜像(image)
Docker容器
Registry
至于这些名词具体表示什么意思,后面会有文章做详细的介绍。
Docker能做什么
我们可以使用Docker做如下一些事情:加速本地开发和构建流程,使其更加高效,更加轻量化。
能够让独立服务或者应用程序在不同的环境红,得到相同的运行结果。
用Docker创建隔离的环境来进行测试。
Docker可以让开发者很简单地在本机构建一个复杂的环境进行测试。
构建一个多用户的平台即服务(PaaS)基础设施。
为开发,测试提供一个轻量级的独立沙盒测试环境。
提供软件即服务(SaaS)应用程序,如Memcached即服务。
高性能,超大规模的宿主机部署。
Docker的核心技术
文件系统隔离:每个容器都拥有自己的root文件系统。进程隔离:每个容器都运行在自己的进程环境中。
网络隔离:容器的虚拟网络接口和IP都是分开的。
资源隔离和分组:使用cgroups将CPU和内存资源独立分配给每个 Docker容器。
写时复制:文件系统都是写时复制的,速度快,占用磁盘空间更少。
日志收集:容器产生的stdin,stdout,stderr日志都会被收集并记录日志。
交互式shell:用户可以创建一个伪tty终端,将其连接到stdin,为容器提供一个交互式的shell。
相关文章推荐
- Docker网络详解
- Docker的网络模式及Pipework工具介绍(转)
- 深入理解 Docker Volume
- 让Docker功能更强大的10个开源工具
- docker的日志
- Openshift V3简介 - Docker 应用平台
- 使用VS把ASP.NET 5的应用发布到Linux的Docker上
- docker study
- docker 操作命令详解
- 1.7.0版本docker安装与使用
- 5 步助你成为一名优秀的 Docker 代码贡献者
- Docker 简明教程
- 解决 debian8 中 /etc/default/docker 无效问题
- Docker安全
- 玩转Docker镜像
- Docker Registry
- 搭建自己的 Docker 私有仓库服务
- 建立docker私有hub
- 关于docker的15个小tip
- docker 现实---中小企业docker环境结构(五)