管理共享的 PostgreSQL Docker 容器,用于本地开发环境。处理容器生命周期、数据库创建/删除以及跨实例数据转储,...
PostgreSQL 管理器是一项面向实际任务的技能,主要用于为本地 dev 环境管理共享的 PostgreSQL Docker 容器;Architecture. 加入共享的 nginx- proxy net 网络( 由代理管理器创建) 所以应用容器。
实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;
涉及批量任务时,还应保存进度,避免中断后重复操作。该技能适合用于一次性任务,也可以接入自动化工作流,与其他技能或上层代理配合完成更完整的业务链路;在组合使用时,应明确每一步的输入输出关系,并避免不同步骤之间出现参数冲突。
用于管理本地开发环境中共享的 PostgreSQL Docker 容器。
postgres-manager/ ├── docker-compose.yml # PostgreSQL 16 Alpine 容器 └── run.sh # 生命周期管理 + 数据库管理 CLI
加入由 proxy-manager 创建的共享网络 nginx-proxy_net,以便应用容器可通过主机名 codai_postgres 连接。数据通过命名卷(named volume)持久化保存。
./run.sh start # 启动 PostgreSQL 容器 ./run.sh stop # 停止容器(数据保留在卷中) ./run.sh status # 查看状态 + 列出数据库 ./run.sh wait # 阻塞等待 PostgreSQL 就绪 ./run.sh create-db# 创建数据库(幂等操作) ./run.sh drop-db # 删除数据库(交互式确认) ./run.sh dump # 执行 pg_dump src | psql dest ./run.sh list-dbs # 列出所有非模板数据库 ./run.sh psql [ ] # 启动 psql 交互式会话
cd postgres-manager && ./run.sh start
首次运行时,Docker 将创建数据卷并初始化数据库 codai_main。
./run.sh create-db codai_feature
./run.sh dump codai_main codai_feature
./run.sh drop-db codai_feature # 提示确认
./run.sh psql # 连接到 codai_main ./run.sh psql codai_feature # 连接到指定数据库
proxy-manager start — 创建共享 Docker 网络postgres-manager start — 加入共享网络worktree-manager start | 变量 | 默认值 | 用途 |
|---|---|---|
POSTGRES_CONTAINER |
codai_postgres |
容器名称 |
POSTGRES_USER |
codai |
数据库用户 |
POSTGRES_PASSWORD |
pgpass |
数据库密码 |
POSTGRES_MAIN_DB |
codai_main |
主数据库名称 |
POSTGRES_PORT |
5433 |
宿主机端口(映射至容器内 5432) |
CODAI_NETWORK |
nginx-proxy_net |
共享 Docker 网络名称 |
后端容器连接 PostgreSQL 的地址如下:
codai_postgres(共享网络中的容器名)5432codai / 密码:pgpasscodai_main(或实例专用数据库)POSTGRES_MAIN_DB — 它是所有快照的唯一可信数据源。drop-db 操作始终要求交互式确认。^[a-z][a-z0-9_]{0,62}$ 校验。stop 不影响 Docker 卷中的持久化数据;仅当明确需要清除持久化数据时,才使用 docker compose down -v。restart: unless-stopped — Docker 守护进程重启后会自动恢复运行;完成使用后请显式执行 ./run.sh stop。POSTGRES_PORT)仅绑定至 127.0.0.1;在共享机器上应设置非默认的 POSTGRES_PASSWORD。external: true — proxy-manager 必须优先启动。proxy-manager — 创建共享 Docker 网络(需最先启动)mysql-manager — MySQL 替代方案redis-manager — 内存缓存配套组件worktree-manager — 使用 PostgreSQL 的应用实例管理器相关专题
热门下载
相关下载
精品课程
共6课时 | 54.7万人学习
共89课时 | 134.1万人学习
共49课时 | 82.6万人学习
最新文章