docker:革新软件交付
>数据库,依赖项,CRON作业 - 现代应用程序很复杂。 部署它们曾经是一场耗时的噩梦,但Docker改变了这一点。现在,您可以在几秒钟内将软件部署到几乎任何环境中。
>
键突出显示
- Docker通过包装应用程序,依赖项和操作系统简化了软件交付,将其变成一个称为容器的单个便携式单元。这确保了在不同环境中的稳定性能。
- Docker解决了共同的部署挑战:系统不兼容,意外更新,依赖性冲突,服务瓶颈和安全漏洞。
- 喜欢物理运输容器,软件容器提供可靠的交付。它们封装了各种组件,包括口译员,库,模块,服务,系统配置和后端工具。
直接利用主机OS资源,
docker容器比虚拟机(VM)更有效,从而产生了较小的内存足迹和更快的启动时间。 他们提供了完全隔离的安全实验。- >
> Docker是一个开源项目,公司为容器创建,分销和管理提供工具和服务。尽管在某些领域相对较新的出现和持续的beta开发,但它在行业之间的广泛采用是非常了不起的。
-
软件部署的演变
>软件部署曾经很简单。 节目是挑战。部署相对简单。
灯堆(Linux,Apache,MySQL,PHP)提高了复杂性,但仍然可以管理,尤其是在提供控制面板的托管提供商的情况下。
然而,
>现代应用程序更加多样化。 NOSQL数据库,Node.js,Python,Ruby和许多其他技术已经扩大了可能性,但部署显着复杂。
实施挑战
即使在专用服务器上,部署应用程序也涉及复杂的安装,配置和维护。 复杂,紧密耦合的系统具有各种服务和语言,增加了意外失败的风险。
docker的解决方案
Docker通过包装
所有内容来简化部署 - 应用程序,其OS,所需的服务,模块和后端工具(例如Cron作业)(例如CRON Jobs) - 到一个单元中。这样可以确保在环境之间保持一致的性能,而部署仅需几分钟。
解决常见的部署问题
Docker解决了常见部署问题:
- 应用程序与目标系统不兼容。
- 系统更新破坏现有功能。
- 造成意外问题的次要依赖性。
- >服务瓶颈会减慢整个系统。
- 安全漏洞折衷的系统组件。
这些问题属于DevOps雨伞,包括维护,测试和部署挑战。 Docker简化了此过程,减少了时间和挫败感。
>软件容器:类比
考虑标准化的运输容器:您可以在任何地方运送任何东西,并且它处于相同的状态。
>软件部署通常缺乏此可靠性。 在不同的环境上使用应用程序可能是一场斗争,以后通常会失败。 软件容器旨在复制软件的可靠性。
与仅分配可执行文件和库(可能引起冲突)的简单安装程序不同,软件容器可以封装:
口译员(Python,Ruby,php)和必需的模块。
>运行时库。-
特定的模块版本。-
必要的服务(Web服务器,数据库)。-
>系统调整。-
后端工具(Cron Jobs)。-
- 简化的操作
容器可大大简化操作。 您可以将多个容器用于不同的组件(应用程序核心,Apache,MySQL),而是创建模块化和可管理的系统。
>
何时使用以及何时不使用软件容器
>
理想用例:
带有后端技术的Web应用程序。
可伸缩服务(Web,数据库)。
>具有特定设置要求的应用程序(OS,工具,环境变量)。
易于共享的开发环境。-
用于安全测试的沙箱。-
具有松散耦合组件的系统。-
- 不合适的用例:
- >
- >客户端Web应用程序(HTML,CSS,JavaScript)。
>
简单的桌面应用程序很容易通过安装程序分发。
基于Windows的环境与Linux不相容。
理解docker -
docker是一个开源项目和公司,可自动化软件容器中的应用程序部署。 鉴于其在某些地区的历史相对较短和持续的Beta功能,它的迅速采用令人印象深刻。
- Docker的网站指出:“ Docker容器包含一个包含运行所需的一切的完整文件系统中的一块软件。”
docker演示-
>运行“ Hello-World”容器很简单:
>
这证明了Docker的功能。 为了获得更互动的体验:$ docker run hello-world
登录后复制
这将在容器中启动交互式Ubuntu shell,从而展示了Docker创建隔离环境的能力。 容器的状态独立于主机OS。
docker的架构和工作流
与加载整个客座操作系统的VM不同,Docker容器共享主机OS内核,使其更加轻巧,更快。
>

图像和容器
>图像:- 一个只读模板,其中包含运行环境所需的一切。 图像是创建或下载的。>
>容器:- >图像的可运行实例。 容器是读写的,允许在孤立的环境中进行修改。
Docker Workflow
>
构建:使用Dockerfile创建图像,指定OS,库,应用程序和配置。>
-
船:通过Docker Hub或私人存储库分配图像。>
- 运行:>从安装码头的任何系统上的图像启动容器。
- docker 开始
docker需要64位OS(Windows 7或更高版本,OS X 10.8或更新,或Linux,具有3.10内核或更高的Linux)。 Windows和Mac用户需要Docker Toolbox来设置Linux VM。 Linux用户直接安装Docker引擎。 有关安装说明,请参阅官方文档。
>安装后,请按照官方的Docker入门指南进行构建和运行容器。 SitePoint提供特定技术的Docker教程。
docker不仅仅是命令行工具;这是一个用于容器管理的生态系统,从创建到跨大型基础架构的部署。
常见问题(常见问题解答)
提供的常见问题解答部分在很大程度上保持不变,因为它准确地解决了常见的Docker问题。 无需重新单词以保持清晰度和准确性。>
以上是了解Docker,容器和更安全的软件交付的详细内容。更多信息请关注PHP中文网其他相关文章!