【问题标题】:Do I first need docker environment before starting my project?在开始我的项目之前,我是否首先需要 docker 环境?
【发布时间】:2017-10-30 08:40:18
【问题描述】:

我将在 Linux 上使用 Node.js 和 PostgreSQL。我读了很多小时关于 docker 是如何工作的。我仍然不确定在开始我的项目之前是否需要 docker 环境,或者我可以在项目完成后使用 docker?

【问题讨论】:

  • 你可以把 docker 当作一个虚拟机。所以,你可以在没有 docker 的情况下完成你的项目,然后将它发布到 docker image。
  • 感谢@neohope 的快速回复,这对我很有帮助。

标签: node.js linux postgresql docker


【解决方案1】:

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

Docker 有三个核心概念:

1) Docker 引擎:构建和运行 Docker 容器的轻量级运行时和强大的工具。

2) Docker 镜像:项目环境的副本,包括所有环境依赖项,如基本操作系统、主机条目、环境变量、数据库、Web/应用程序服务器。在您的情况下,您选择的 Linux 发行版、node.js 和所需的模块、PostreSQL 及其配置。

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

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

因此,作为开发人员,您可以在 Dev 机器上开发您的项目,一旦准备好推送到 QA/Staging,您就可以构建项目的 docker 映像,然后可以将其部署在任何环境(QA/Staging/生产)。

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

【讨论】:

    【解决方案2】:

    您可以随时引入 Docker。如果使用多台服务器,那么您可以创建一个 Docker 容器,其中有一台服务器,另一台(非 Dockerised 解决方案)向该服务器发出请求。

    或者你可以将它们都 Dockerise 化。

    基本上,在你觉得合适的时候引入 Docker。

    我喜欢将一个大型项目分成多个部分 - 例如前端Web服务器、后端认证服务器、后端API服务器1、后端API服务器2等

    随着项目的每个部分完成,我将其 Dockerise 化。然后其他部分使用 Dockerised 解决方案。

    【讨论】:

      猜你喜欢
      • 2010-10-10
      • 1970-01-01
      • 1970-01-01
      • 2015-10-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-06-18
      • 1970-01-01
      相关资源
      最近更新 更多