Drizzle | 如何在本地设置 PostgreSQL
This guide assumes familiarity with:
  • 安装最新的 Docker 桌面。请按照你的操作系统的说明进行操作。

拉取 PostgreSQL 镜像

从 Docker Hub 中提取最新的 PostgreSQL 镜像。在你的终端中,运行 docker pull postgres 从 Docker Hub 拉取最新的 Postgres 版本:

docker pull postgres

或者,你可以使用特定标签提取首选版本:

docker pull postgres:15

下载 Postgres 镜像后,你可以在 Docker Desktop 的“Images”选项卡中或通过运行“docker images”进行检查:

docker images
REPOSITORY   TAG       IMAGE ID       CREATED         SIZE
postgres     latest    75282fa229a1   6 weeks ago     453MB

启动 Postgres 实例

要启动新的 PostgreSQL 容器,请运行以下命令:

docker run --name drizzle-postgres -e POSTGRES_PASSWORD=mypassword -d -p 5432:5432 postgres
  1. --name 选项将容器命名为 drizzle-postgres
  2. -e POSTGRES_PASSWORD= 选项使用指定的值设置 POSTGRES_PASSWORD 环境变量。
  3. -d 标志使容器以分离模式(在后台)运行。
  4. -p 选项将容器上的端口 5432 映射到主机上的端口 5432,从而允许从主机系统通过此端口访问 PostgreSQL。
  5. postgres 参数指定用于容器的镜像。你还可以指定其他版本,例如 postgres:15

你还可以指定其他参数,例如:

  1. -e POSTGRES_USER= 选项使用指定的值设置 POSTGRES_USER 环境变量。当该字段为空时,Postgres 将使用默认用户。大多数情况下,它是 postgres,你可以在 Docker Desktop 的容器日志中检查它,也可以通过运行 docker logs <container_name> 来检查。
  2. -e POSTGRES_DB= 选项使用指定的值设置 POSTGRES_DB 环境变量。为空时默认为 POSTGRES_USER 值。

要检查容器是否正在运行,请检查 Docker Desktop 中的 Containers 选项卡或使用 docker ps 命令:

CONTAINER ID   IMAGE      COMMAND                  CREATED         STATUS         PORTS                    NAMES
df957c58a6a3   postgres   "docker-entrypoint.s…"   4 seconds ago   Up 3 seconds   0.0.0.0:5432->5432/tcp   drizzle-postgres

配置数据库 URL

要连接到 PostgreSQL 数据库,你需要提供数据库 URL。URL 格式为:

postgres://<user>:<password>@<host>:<port>/<database>

你应该用实际值替换占位符。例如,对于创建的容器,URL 将为:

postgres://postgres:mypassword@localhost:5432/postgres

现在你可以使用应用中的 URL 连接到数据库。