700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > 项目为什么用docker – PHP基础 – 前端 windows一键php环境搭建

项目为什么用docker – PHP基础 – 前端 windows一键php环境搭建

时间:2018-08-24 04:19:05

相关推荐

项目为什么用docker – PHP基础 – 前端 windows一键php环境搭建

什么是Docker?

自发布以来,Docker已成为devop和Web开发中增长最快的技术之一。但是,像任何新技术一样,它仍在开发中,存在一些局限性,并不适合每个项目。本指南概述了Docker的优缺点,以便您可以决定是否对您的项目有好处。

有关Docker概念和术语的更基本介绍,请参阅《Docker简介》指南。

Docker Permalink的好处

可重复性:类似于Java应用程序,它将在能够运行Java虚拟机的任何设备上完全相同地运行,因此,保证Docker容器在可以运行Docker的任何系统上都是相同的。容器的确切规范存储在Dockerfile中。

通过在团队成员之间分发此文件,组织可以保证从同一Dockerfile构建的所有映像将具有相同的功能。此外,拥有一个恒定且有据可查的环境,可以更轻松地跟踪您的应用程序并确定问题。

隔离:容器内的依赖项或设置不会影响您的计算机或任何其他正在运行的容器上的安装或配置。通过为应用程序的每个组件(例如,用于承载网站的Web服务器,前端和数据库)使用单独的容器,可以避免相互冲突的依赖关系。您也可以在单个服务器上有多个项目,而不必担心在系统上造成冲突。

安全性:在进行重要警告时(如下所述),将大型应用程序的不同组件划分到不同的容器中可以带来安全性好处:如果一个容器遭到破坏,其他容器则不受影响。

Docker Hub:对于常见或简单的用例,例如LAMP堆栈,保存图像并将其推送到Docker Hub的能力意味着已经有许多维护良好的图像。能够快速提取预制映像或从官方维护的Dockerfile构建,可以使这种设置过程极其快速和简单。

环境管理:Docker使使用nginx维护不同版本的网站变得容易,例如。您可以在同一个Linode上有一个单独的容器来进行测试,开发和生产,并轻松地部署到每个容器上。

持续集成:Docker作为Travis,Jenkins和Wercker等工具的持续集成管道的一部分,可以很好地工作。每次您的源代码更新时,这些工具都可以将新版本保存为Docker映像,用版本号标记它并推送到Docker Hub,然后将其部署到生产环境中。

何时使用Docker

如果您的应用程序符合以下一个或多个类别,则Docker可能是一个很好的选择:

学习新技术:为了在不花时间安装和配置的情况下开始使用新工具,Docker提供了一个隔离的一次性环境。许多项目维护的Docker映像及其应用程序已经安装和配置。例如,如果您想签出Zipkin之类的分布式跟踪系统,只需运行以下命令即可在localhost上进行有效的设置:

sudo docker run -d -p 9411:9411 openzipkin/zipkin

基本用例:如果您的应用程序足够基本或标准,可以使用默认Docker映像,则从Docker Hub提取映像也是一个很好的解决方案。使用LAMP堆栈托管网站,使用反向代理或设置Minecraft服务器等案例通常在DockerHub上具有官方或受良好支持的映像。如果这些映像中的默认配置可以满足您的需要,那么拉取映像可以节省大量时间,否则将花费大量时间来设置环境和安装必要的工具。

应用程序隔离:如果要在一台服务器上运行多个应用程序,请将每个应用程序的组件放在单独的容器中将防止依赖性管理出现问题。

开发人员团队:如果您的开发人员使用不同的设置,则Docker提供了一种便捷的方法来拥有与生产环境紧密匹配的本地开发环境,而无需使用ssh放入远程设备。

您应该使用Docker容器吗?

Docker已经成为使用容器配置,保存和共享服务器环境的一种非常流行的方式。因此,安装应用程序甚至大型堆栈通常可以像运行docker pull或一样简单docker run。将应用程序功能分离到不同的容器中还提供了安全性和依赖性管理方面的优势。

但是,Docker不能替代系统工程或配置管理,并且它的方法也有缺点。开发人员应该抵制将其创建的每个应用程序进行容器化的诱惑,仅仅是因为Docker是一种流行且用户友好的解决方案。与任何工具一样,在决定是否使用Docker之前,应仔细研究任何项目的需求。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。