目录
Docker是什么?
Docker是一个用于开发、部署和运行应用程序的开放平台。Docker使您能够将应用程序从基础结构中分离出来,这样您就可以快速交付软件。使用Docker,您可以以与管理应用程序相同的方式管理基础结构。通过利用Docker的快速传送、测试和部署代码的方法,可以大大减少编写代码和在生产中运行代码之间的延迟。
Docker有什么用?
借助 Docker,您可将容器当做轻巧、模块化的虚拟机使用。同时,您还将获得高度的灵活性,从而实现对容器的高效创建、部署及复制,并能将其从一个环境顺利迁移至另一个环境,
Docker提供了在称为容器的松散隔离环境中打包和运行应用程序的能力。它的隔离性和安全性能允许您在给定的主机上同时运行多个容器。容器是轻量级的,因为它们不需要管理程序的额外负载,而是直接在主机的内核中运行。这意味着您可以在给定的硬件组合上运行比使用虚拟机更多的容器。您甚至可以在实际上是虚拟机的主机中运行Docker容器!
Docker提供了管理容器生命周期的工具和平台:
- 使用容器开发应用程序及其支持组件。
- 容器成为分发和测试应用程序的单元。
- 准备好之后,将应用程序部署到生产环境中,作为容器或精心编排的服务。无论您的生产环境是本地数据中心、云提供商还是两者的混合体
快速、一致地交付应用程序
Docker允许开发人员使用提供应用程序和服务的本地容器在标准化环境中工作,从而简化了开发生命周期。容器非常适合持续集成和连续交付(CI/CD)工作流。
考虑以下示例场景:
- 您的开发人员在本地编写代码,并使用Docker容器与同事共享他们的工作。
- 他们使用Docker将应用程序推入测试环境,并执行自动化和手动测试。
- 当开发人员发现bug时,他们可以在开发环境中修复它们,并将它们重新部署到测试环境中进行测试和验证。
- 测试完成后,将更新的映像推送到生产环境中,就可以简单地将修复结果发送给客户。
响应性部署和缩放
Docker的基于容器的平台允许高度可移植的工作负载。Docker容器可以在开发人员的本地笔记本上运行,可以运行在数据中心中的物理或虚拟机上,可以在云提供商上运行,也可以在多种环境中运行。
Docker的可移植性和轻量级特性还使动态管理工作负载变得非常容易,可以根据业务需要实时地扩展或删除应用程序和服务。
在相同的硬件上运行更多的工作负载
码头客重量轻,速度快。它为基于管理程序的虚拟机提供了一个可行的、具有成本效益的替代方案,因此您可以使用更多的计算能力来实现您的业务目标。Docker非常适合高密度环境和中小型部署,在这些部署中,您需要使用更少的资源来完成更多的任务。
Docker原理是什么?
docker容器化技术简单来说只不过是利用内核中的六种名称空间技术来实现的程序运行环境的隔离
- PID
- Network
- Mount
- IPC
- User
- UTS
Docker引擎所使用的名称空间,相当于Linux上的以下内容:
- 这个
pid
命名空间:进程隔离(PID:进程ID)。 - 这个
net
命名空间:管理网络接口(网络:网络)。 - 这个
mnt
命名空间:管理文件系统挂载点(mnt:挂载)。 - 这个
ipc
命名空间:管理对IPC资源的访问(IPC:InterProcessCommunications)。 - 这个
uts
命名空间:隔离内核和版本标识符。(UTS:Unix分时系统)
Docker技术是否与传统的 Linux 容器相同?
否。Docker 技术最初是基于