npm 包 docker-await-postgres 使用教程

阅读时长 6 分钟读完

前言

在开发前端应用时,我们通常需要使用到数据库来存储数据。而在本地搭建数据库环境时,往往比较麻烦。这时,我们可以使用 Docker 来方便地搭建本地数据库环境,同时也可以使用 npm 包 docker-await-postgres 来让我们更方便地使用 PostgreSQL 数据库。本文将带领大家一步步使用 docker-await-postgres,享受开发的便利。

什么是 docker-await-postgres

docker-await-postgres 是一个基于 Docker 的、用于在 Node.js 中方便使用 PostgreSQL 数据库的 npm 包。它能够快速配置、启动和关闭 Docker 容器,并为您创建一个简单的 API,使您可以通过 Node.js 连接到您的本地 PostgreSQL 数据库。

开始使用 docker-await-postgres

  1. 在本地安装 Docker。

  2. 创建一个新的 Node.js 项目,并在项目根目录下打开终端。

  3. 安装 docker-await-postgres:

  4. 在根目录下创建一个名为 app.js 的文件,打开并输入以下内容:

    -- -------------------- ---- -------
    ----- - -------------- - - ---------------------------------
    
    ----- --------- - --- ------------------------------------
    
    ----------------------- -- -
      ----------------------- -- ----- -- -------
    
      -- -- -- --- ----------
      ----- - ---- - - --------------
    
      ----- ---- - --- ------
        ----- -----------
        --------- -----------
        ----- ------------
        --------- -----------
        ----- -----------------------------
      ---
    
      -- ----
      ------------------ -------
        --------- -- ------------------------- --------- -- ------------- -----------------
        ---------- -- --------------------
    --
    -------------- -- -
      ----------------------- -------
    ---

    上述代码会创建一个名为 my-container-name 的 Docker 容器,该容器将包含一个运行 PostgreSQL 的实例。接下来,通过 pg 库连接到这个实例,并测试连接是否成功。

  5. 使用 Node.js 运行 app.js 文件:

    然后你将看到如下输出:

    这表明 PostgreSQL 已经准备就绪,并且你已经成功地连接到它了。

  6. 当你完成工作并想要关闭容器时,只需要运行以下命令即可:

    这将停止并删除名为 my-container-name 的 Docker 容器。

指南

接下来,我们来详细解释上面的代码是如何工作的。首先,我们引入了 docker-await-postgres 包,并创建了一个 DockerPostgres 实例。

在创建 DockerPostgres 实例时,我们可以传入几个参数:

  • containerName - Docker 容器的名称,默认为 "docker-postgres".
  • dockerTag - Docker 镜像的标签名称,默认为 "postgres".
  • postgresPassword - PostgreSQL 数据库管理员密码,默认为 "postgres".
  • verbose - 是否打印详细输出,默认为 false.

现在我们已经创建了 DockerPostgres 实例,它会自动启动 Docker 容器。我们可以使用 run() 方法来启动容器并等待它准备好运行。一旦容器准备就绪,我们就可以继续连接到 PostgreSQL 实例。

在容器准备就绪后,我们使用了 pg 库来连接到 PostgreSQL 数据库实例。

-- -------------------- ---- -------
----- - ---- - - --------------

----- ---- - --- ------
  ----- -----------
  --------- -----------
  ----- ------------
  --------- -----------
  ----- -----------------------------
---

在这段代码中,我们使用 Pool 类来创建一个连接池。在此处,我们使用了 PostgreSQL 的默认用户名和密码,因为 Docker 容器已经预装了 PostgreSQL。我们还提供了连接到 host: localhost,端口 5432 的 PostgreSQL 数据库的必需项。

我们还使用了 getMappedPort() 方法来获取容器映射到本地机器端口的映射。在这里,Docker 将容器的端口 5432 映射到本地机器的一个随机端口。这就是我们在连接字符串中使用的端口号。

最后,我们使用 pool.query() 来查询数据库。

这将查询数据库以获取当前时间,并将结果输出到控制台。如果连接成功,你将看到成功连接的消息。

结论

使用 npm 包 docker-await-postgres,我们可以轻松地使用 Node.js 和 PostgreSQL 数据库。它提供了一个简单而方便的方法来处理数据库,同时还可以使用 Docker 轻松地搭建和管理数据库环境。使用此教程,您不仅学到了如何使用 docker-await-postgres,还了解了如何使用 Docker 运行容器、如何使用 Node.js 连接和查询 PostgreSQL 数据库。祝您在开发过程中愉快!

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/600671a730d0927023822591

纠错
反馈