赞
踩
Docker 是一个用于开发、发布和运行应用程序的开放平台。Docker 能够将应用程序与基础架构分离,以便快速交付软件。使用 Docker,您可以像管理应用程序一样管理基础架构。通过利用 Docker 快速交付、测试和部署代码的方法,您可以显著减少编写代码和在生产环境中运行之间的延迟。
通俗来讲,docker是一个类似于虚拟机的容器,这个容器里面可以放应用程序,代码库,编译工具以及构建运行环境。容器轻量可移植,以后发布程序直接发布docker就行,从源主机搬运整个docker到目标机上,即完成了程序发布,省去了重新构建运行环境的复杂过程和时间。容器完全使用沙箱机制,相互之间不会有任何接口,更重要的是容器性能开销极低。隔离和安全性允许您在给定主机上同时运行多个容器。
Docker 提供工具和平台来管理容器的生命周期:
快速迭代应用程序
Docker 容器为开发人员和测试人员提供了统一的运行环境和应用程序,通过容器迁移带来的标准化环境简化了开发生命周期,容器非常适合持续集成、持续交付和持续测试工作流程,也就是devpos。
便捷部署和扩展
Docker 基于容器的平台允许高度可移植的工作负载。Docker 容器可以在开发人员的本地电脑、公司服务器或者虚拟机、云主机等环境运行。
Docker 的可移植性和轻量级特性还使得动态管理工作负载、根据业务需求近乎实时地扩展或拆除应用程序和服务变得容易。
在同一设备上运行多个容器
Docker 轻量而快速,它比虚拟机所需的硬件资源要少的多,因此它可以为经济高效的替代虚拟机,同时在一台设备上可以运行多个容器,节省开销。
Docker 容器无处不在:Linux、Windows、数据中心、云、无服务器等。
Docker 容器技术于 2013 年作为开源Docker Engine推出。
它利用了围绕容器的现有计算概念,特别是在 Linux 中,称为 cgroups 和命名空间的原语。Docker 的技术是独一无二的,因为它关注开发人员和系统运营商将应用程序依赖项与基础设施分离的要求。
Linux的成功推动了与 Microsoft 的合作,将 Docker 容器及其功能引入了 Windows Server。
Docker 及其开源项目提供的技术,Moby 已被所有主要数据中心供应商和云提供商所利用。这些提供商中许多都将 Docker 用于其容器原生 IaaS 产品。此外,领先的开源无服务器框架利用 Docker 容器技术。
容器和虚拟机具有相似的资源隔离和分配优势,但功能不同,因为容器虚拟化的是操作系统而不是硬件。容器更便携、更高效。
容器
容器是应用层的抽象,它将代码和依赖项打包在一起。多个容器可以在同一台机器上运行,并与其他容器共享操作系统内核,每个容器在用户空间中作为独立进程运行。与 VM 相比,容器占用的空间更少(容器映像的大小通常为数十 MB),可以处理更多应用程序并且需要更少的 VM 和操作系统。
虚拟机
虚拟机 (VM) 是物理硬件的抽象,可将一台服务器变成多台服务器。管理程序允许多个虚拟机在单台机器上运行。每个 VM 都包含操作系统、应用程序、必要的二进制文件和库的完整副本占用数十 GB。VM 的启动速度也可能很慢。
Docker 使用客户端-服务器架构。Docker客户端与 Docker守护进程对话,后者负责构建、运行和分发 Docker 容器的繁重工作。Docker 客户端和守护程序可以 在同一系统上运行,或者您可以将 Docker 客户端连接到远程 Docker 守护程序。Docker 客户端和守护程序使用 REST API,通过 UNIX 套接字或网络接口进行通信。另一个 Docker 客户端是 Docker Compose,它允许使用由一组容器组成的应用程序。
Docker 包括三个基本要素:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。