什么是Docker?
Docker是一个用于开发、迁移、运行的开发平台。它使你能够将你的应用程序从基础架构中分离,从而可以快速交付。使用Docker,你可以以与管理应用程序相同的方式来管理这些基础架构。使用Docker的方法,进行快速开发,测试,并可以显著的减少编写代码和运行之间的时间延迟。
就像官网上说的:Build,Ship,and Run Any App, Anywhere
Docker平台
Docker平台提供了在容器(松散和隔离性的环境中)中进行应用程序的打包和运行的功能。隔离性和安全性允许你在指定的主机上运行多个容器。容器是轻量级的,因为它们不需要管理程序的额外负载,但是需要在主机的内核中运行。你甚至可以在实际上是虚拟机的主机中运行Docker容器。
Docker提供了工具和平台来管理容器的生命周期:
使用容器开发应用程序及其支持组件
容器成为分发和测试应用程序的单元
当你准备就绪后,将应用程序部署到生产环境中,作为容器或协调服务。无论你的生产环境是本地数据中心,还是云提供商或者是两者的混合,所有的东西都是一样的。
Docker引擎
Docker 引擎是具有以下组件的客户端-服务器应用程序:
一种称为守护进程的长时间运行的程序
一个Rest API,它指定程序可以用来与守护进程通信的接口,并指示它应该做什么
CLI(命令行界面)客户端
CLI使用Rest API来通过脚本或者CLI 命令来控制守护进程,许多Docker程序使用底层的API和CLI。
我们可以用Docker做什么?
快速、一致的交付您的应用程序
Docker通过允许开发人员使用提供应用程序服务的本地容器在标准化的环境中简化开发生命周期。容器适用于连续集成和持续开发(CI/CD)的工作流程。
Docker可以帮助我们完成如下工作:
开发人员再本地编写代码,并使用Docker容器与同事分享他们的工作
使用Docker将其应用程序推送到测试环境,并执行自动和手动测试
当开发人员发现bug时,他们可以将其修复到开发环境中,并将他们重新部署到测试环境中进行测试和验证
测试完成后,向客户解决问题就像将更新的镜像推送到生产环境一样简单。
实时响应部署和扩展
基于容器的Docker平台允许高度便携的工作负载。Docker容器可以在开发人员的笔记本电脑上运行,在数据中心的物理机或者虚拟机上运行,也可以在云提供商或混合的环境中运行。
Docker的便携性和轻量级特性使得轻松实现动态工作负载,按照业务需求,在近乎实时的范围内,扩大或拆除应用程序和服务。
在同一硬件上运行更多的负载
Docker重量轻,快速。它为基于虚拟机管理程序的虚拟机提供了可行的,具有成本效益的替代方案,因此你可以使用更多的计算能力来实现业务目标。Docker是高密度环境和中小型部署的理想选择,你需要使用更少的资源来做更多的事情。
网友评论