首页 > 解决方案 > 如果我将我的应用程序部署到 Netlify 等 IaaS,我是否需要 Docker?

问题描述

几天来,我一直在努力实现 docker 的目的。

我发现这个答案非常有用。

然而,它提出了更多的问题。

如果我将我的应用程序部署到 Heroku、Azure、Rackspace、Netlify 等——那么我应该考虑 Docker 吗?如果我维护自己的包更新,确保在下一次部署时没有任何问题,并且我的依赖项都在检查中,那么我对我的应用程序进行 Docker 化的目的是什么?

此外,以 Heroku 为例,它们为您提供了使用 Docker 部署的选项。这对我来说毫无意义,这就是原因。

考虑一下我有一个带有 Node 后端和 MongoDB 数据库的典型 React 应用程序。我可以运行create-react-app来启动我的前端并在一个server.js文件中最多编写 15 行代码,以便在 3 分钟内启动并运行我的全栈应用程序。Dockerhub 上提供的所有这些图像的目的是什么?为什么我需要 Node 映像?为什么我需要一个 MongoDB 图像,一个 React 图像?为什么要使package-lock.json文件保持简单的所有内容复杂化?也许我对“图像”的理解不正确?

以任何方式添加我的项目使用的依赖项的任意图像有什么用?如果我在我的项目中使用 MongoDB,我将需要添加 npm 包,同时添加 mongoose,并编写 5 行代码来连接到我在 Atlas 上的数据库——我必须做额外的工作,无论如何,就像建立一个集群一样。为什么我会需要一个 MongoDB 的 docker 镜像,如果它更容易npm install做到并保持它的工作、稳定版本package-lock.json

按照这个逻辑,哎呀,为什么不干脆把我的整个dependencies对象扔掉package.json,只使用 docker 图像呢?

我希望能对此有所澄清。我从上面发布的链接中了解了整个“快速新员工部署”方面,但老实说,Docker 听起来对我来说似乎是不必要的过度复杂化。

标签: docker

解决方案


推荐阅读