开发过程中,如果需要连接一个可用的本地 PostgreSQL 数据库,那么通过 Docker Compose 在本地运行 数据库 PostgreSQL 就很有必要了。

肯定是需要安装 Docker 的。

创建一个放置数据库以及数据的目录。
mkdir postgres-docker
cd postgres-docker

创建 docker-compose.yml 文件
在项目目录中,创建一个名为docker-compose.yml的文件并添加以下配置:

services:
  db:
    image: postgres:latest
    container_name: local-postgres
    environment:
      POSTGRES_USER: <postgres_user>
      POSTGRES_PASSWORD: <postgres_password>
      POSTGRES_DB: <postgres_db>
    ports:
      - "5432:5432"
    volumes:
      - postgres_data:/var/lib/postgresql/data 或 /postgres-docker/postgresql/data
      - ./init.sql:/docker-entrypoint-initdb.d/init.sql  # Optional: initialize with SQL script

volumes:
  postgres_data:

请将
<postgres_user> <postgres_password> <postgres_db> 替换为自己真实的配置信息。

/var/lib/postgresql/data 为 Linux 下路径。
/postgres-docker/postgresql/data 为 Windows 下路径, 第一个 / 表示当前盘的根目录

5432:5432 映射允许通过端口 5432 本地访问数据库。

postgres_data:即使在停止容器后也保留 PostgreSQL 数据。
init.sql:可选的 SQL 脚本,在容器启动时自动运行(也可以自定义此文件以进行初始配置)。

使用

docker-compose up -d
即可启动服务了。当然了,通过 docker desktop 也可以管理。

使用命令行

psql -h localhost -p 5432 -U postgres_user -d postgres_db
即可连接数据库了,或者通过 GUI 工具也可以。

No comments

  • :arrow:
  • :grin:
  • :???:
  • :cool:
  • :cry:
  • :shock:
  • :evil:
  • :!:
  • :idea:
  • :lol:
  • :mad:
  • :mrgreen:
  • :neutral:
  • :?:
  • :razz:
  • :oops:
  • :roll:
  • :sad:
  • :smile:
  • :eek:
  • :twisted:
  • :wink: