Docker平台可以用来开发、发布和运行应用程序,且属于开放平台。Docker可以实现将应用程序和基础架构分离,快速交付软件。通过Docker用户可以像管理应用程序一样管理基础架构,通过Docker发布、测试和部署代码的方式能够大大减少编写代码和生产中运行代码之间的延迟。
Docker支持松散隔离环境中打包和运行应用程序,这种环境称为容器。具备隔离和安全性,可以在服务器上同时运行多个容器。容器属于轻量级,含运行应用程序的一切所需。Docker提供工具和平台可以来管理容器的生命周期。Docker对开发者而言有哪些用途?
Docker提供应用程序和服务本地容器可以允许开发人员在标准环境中工作,大大简化开发生命周期。容器非常适合持续集成和持续交付工作流程。如,开发人员可以在本地编写代码,通过Docker容器和其他同事共享工作内容;使用Docker把应用程序推送到测试环境并自动和手动测试;Docker发现错误时,可以在开发环境中修复并将其重新部署到测试环境中进行测试和验证;测试完成后,把修复程序发送给客户就像更新后内容推送到生产环境中一样简单。
Docker是基于容器平台提供高度可移植的工作负载,Docker容器可以在开发者本地笔记本电脑、数据中心的物理机或虚拟机、云服务商或混合环境中使用。Docker可移植行和轻量特性可以实现动态轻松的管理工作负载,根据业务需求近乎实时扩展或者拆除应用程序或者服务。因此,可以说Docker极具响应式部署和扩展性。
Docker轻量且快速,为基于虚拟机管理程序的虚拟机提供了经济高效的方案,可以支持在相同硬件上运行更多工作负载。Docker 非常适合高密度环境以及需要使用更少资源完成更多任务的中小型部署。
Docker采用客户端-服务器架构,其中客户端负责发送命令,而服务器(Docker守护程序)负责执行这些命令,如构建、运行和分发容器。两者可以通过REST API在同一个系统或通过网络进行通信。Docker客户端也可以是Docker Compose,用于管理多容器应用。用户通常通过docker命令行工具与Docker互动,该工具将命令传递给dockerd守护程序来执行。客户端可以控制多个守护进程。