在开始我的项目之前,我首先需要docker环境吗?

我将在Linux上使用Node.js和PostgreSQL。 我读了很多关于docker工作的实际情况。 仍然我不确定是开始我的项目之前所需的docker环境,或者我可以在项目完成后使用docker工人?

让我们先了解什么是docker工人,以及如何在项目中使用它。

Docker有三个核心概念:

1)Docker引擎:一个轻量级的运行时和强大的工具,可以构build和运行你的Docker容器。

2)Docker镜像:您的项目环境的一个副本,包括所有环境依赖项,如基本操作系统,主机条目,环境variables,数据库,Web /应用程序服务器。 在你的情况下,你select的Linux发行版,node.js和必需的模块,PostreSQL和它的configuration。

3)docker容器:可以被视为一个运行你的项目的虚拟Linux服务器。 每次使用docker run时,都会从docker映像启动一个新的容器。

您可以将Docker环境可视化为轻量级的虚拟机,您可以在其中运行项目,而不会受到来自其他项目的任何外部干扰(主机条目/环境variables/ RAM / CPU)的影响。

所以作为一名开发人员,您可以在您的开发机器上开发您的项目,一旦准备推送到QA / Staging,您可以构build项目的Docker镜像,然后将其部署到任何环境(QA / Staging / Production)。

您可以在单个或多个物理服务器上从映像启动多个容器。

你可以随时引入Docker。 如果使用多个服务器,那么您可以创build一个Docker容器,其中包含一个服务器,另一个(非Dockerised解决scheme)向该服务器发出请求。

或者你可以把它们两个Dockerise。

基本上,当你觉得时间是正确的时候引入Docker。

我喜欢把一个大项目分成多个部分 – 例如前端网页服务器,后端validation服务器,后端API服务器1,后端API服务器2等。

随着项目的每个部分都完成,我将它Dockerise。 其他部分则使用Dockerised解决scheme。