1. 首页 > 技术分享

探索 Docker

在本文开始前,先给大家分享几个好用的IDEA激活码

这里提供几个最新的激活码,有需要的朋友可以试试,先到先用:

2022Intellij IDEA最新激活码,IDEA稳定专属激活码(持续更新)

2022Pycharm激活码,Pycharm稳定专属激活码(持续更新)

2022Webstorm激活码,Webstorm稳定专属激活码(持续更新)

2022Phpstorm激活码,Phpstorm稳定专属激活码(持续更新)

2022Goland激活码,Goland稳定专属激活码(持续更新)

 


正文

因此,您已经完成了最初的几个编码课程,获得了一些编码证书,并且感觉自己正朝着构建您的第一个应用程序或软件的方向前进。真令人兴奋!但正如经验丰富的程序员所知道的那样,仅仅知道如何编写代码只是将想法从头脑风暴到为用户准备好面向公众的版本的一个(关键)方面。寻找一个可以让您集成应用程序的不同部分、对其进行组织然后将其推送给用户的工具是该过程的另一个关键部分。

这就是Docker的用武之地。基本而言,Docker 是一个软件平台,可简化构建、运行、管理和分发应用程序的过程。它通过虚拟化安装和运行它的计算机的操作系统来做到这一点,从而允许多个并发进程(例如,三个不同的基于Python的应用程序,即使具有不同的版本和元素也需要一起运行)在同时。

那么,如何使用 Docker 将项目从简单的代码行转变为功能齐全的应用程序呢?Docker 为程序员提供了哪些好处,尤其是与其他类似的软件虚拟化工具相比?让我们从探索 Docker 开始,包括它的结构和功能,这样您就可以开始计划将此工具集成到您的编码计划中。

Docker 是如何工作的? 

首先,基础知识——Docker 最初是在 2013 年创建和发布的,它是使用越来越流行的Go(或 Golang)编程语言构建的。像大多数流行的编程工具一样,Docker 旨在解决我们上面提到的问题 - 随着人们开始开发更复杂的应用程序(需要不同的单独但相互连接的部分),可以集成这些不同部分的解决方案对于允许更高级的开发至关重要. 以下是 Docker 如何解决这个问题的。

当 Docker 在特定机器上安装并运行时,该机器被称为 Docker 主机,或者更简单的主机。因此,每当您计划在主机上实际部署应用程序时,Docker 都会在机器上创建一个逻辑实体来托管该应用程序。在 Docker 术语中,这个逻辑实体被称为容器,或者更具体的 Docker 容器。

Docker 容器实际上并没有安装和运行任何操作系统。然而,它所拥有的是进程表、网络接口和文件系统挂载点的虚拟副本。这些是从托管和运行容器的主机的操作系统继承的。

这使每个容器能够与同一主机上的另一个容器隔离。因此,Docker 可以支持在同一主机上运行具有不同应用程序要求和依赖项的多个容器——如果它们具有相同的操作系统要求。换句话说,Docker 可以虚拟化安装和运行它的主机的操作系统,而不是虚拟化实际的硬件组件。

现在为什么 Docker 在解决这个问题上比一些尝试相同功能的类似竞争工具更好?让我们看看使用 Docker 的一些具体优点和缺点。

使用 Docker 的优势 

以下是 Docker 与其他类似工具相比为用户提供的主要好处:

  • Docker 可以支持使用同一主机同时托管具有各种应用程序要求和依赖关系的多个应用程序,只要这些应用程序具有相同的操作系统要求。
  • Docker 允许在同一主机上托管大量应用程序,因为容器通常只有几兆字节,并且占用的磁盘空间非常少。这提供了存储优化,带来了很多好处 - 只要您在构建和操作应用程序时可以节省空间,那就更好了!
  • 每个单独的容器上都没有安装唯一的操作系统。随后,与虚拟机相比,Docker 消耗的内存非常少(这需要安装并运行完整的操作系统才能运行)。因此,启动时间减少到只需几秒钟,而启动虚拟机需要几分钟。
  • 由于 Docker 在运行它所需的硬件方面要求不高,因此辅助成本(例如存储和内存)要低得多,这对于在有限的预算内启动初创公司非常有用。

使用 Docker 的缺点 

  • 使用 Docker 的主要缺点是包含不同操作系统要求的应用程序不能一起托管在同一个 Docker 主机上。例如,如果您有一些基于 Linux 的应用程序,但也有一个基于 Windows 的应用程序,则需要基于 Linux 的操作系统的各种应用程序可以托管在单个 Docker 主机上。但是,需要基于 Windows 的操作系统的应用程序需要使用不同的 Docker 主机托管。对于需要使用多个操作系统的应用程序的软件来说,这可能会增加复杂性——但这并不足以破坏该工具的实用性。

你可以使用 Docker 做什么 

快速可靠地交付您构建的应用程序 

正如我们上面提到的,Docker 通过允许开发人员在标准化环境中使用提供各种所需应用程序和服务的本地容器来工作,对于简化开发过程非常有用。容器是持续集成和持续交付 (CI/CD) 工作流程的最佳选择。这在实践中是什么样的?这是一个例子:

  • 一组开发人员在本地编写代码,然后使用 Docker 容器与团队的其他成员共享他们的工作。
  • 然后,开发人员可以使用 Docker 将他们的应用程序推送到共享测试环境中,然后执行自动化和手动测试。
  • 如果开发人员发现错误,他们可以在开发环境中修复它们并将它们重新部署到测试环境进行测试和验证。
  • 测试完成后,将更新推送给客户只需将更新后的映像推送到生产环境即可。

响应式部署和扩展 

Docker 基于容器的平台结构支持高度可移植的工作负载,这些工作负载可以在开发人员的本地笔记本电脑、数据中心的物理或虚拟机、云提供商或各种其他环境中运行。这种结构上的可移植性和轻量级特性还使得动态管理工作负载、根据业务需求近乎实时地扩展或拆除应用程序和服务变得容易。例如,随着新硬件和技术不断变化的性质,或者由于季节性商业周期导致需求的自然上升和下降,这一点尤其重要。

事半功倍 

对于需要强大的企业级工具并且运营预算有限的个人或小型公司来说,Docker 是最好的朋友。Docker 为基于虚拟机管理程序的虚拟机提供了一种可行且经济高效的替代方案,让项目经理或开发团队可以使用更多现有计算能力来实现目标业务目标。Docker 是高密度环境的理想选择,反之,也适用于团队需要最大限度地利用资源的中小型部署。

本文采摘于网络,不代表本站立场,转载联系作者并注明出处:https://idea.medeming.com/share/95.html

联系我们

在线咨询:点击这里给我发消息

微信号:666666