You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

同一机器运行两个PostgreSQL Docker镜像,密码异常问题求助

异常原因分析

针对你遇到的PostgreSQL Docker容器密码异常问题,核心原因大概率是以下几种情况之一:

1. 数据卷挂载错误,复用了旧实例的数据

PostgreSQL的用户密码存储在挂载的数据卷中,POSTGRES_PASSWORD环境变量仅在容器首次启动且数据卷为空时生效。如果启动15.3实例时,不小心挂载了13.3实例使用的数据卷,容器会直接使用旧数据卷中已存在的用户密码(password1),完全忽略你设置的password2。

检查你的启动命令,确认15.3实例的-v参数指向的是全新的数据卷或目录,而非13.3实例使用的路径。比如:

  • 13.3的正确挂载:-v pg13_data:/var/lib/postgresql/data
  • 15.3的正确挂载:-v pg15_data:/var/lib/postgresql/data

2. 容器名重复,重启了旧实例而非创建新实例

如果两次启动容器时使用了相同的--name参数,第二次启动15.3镜像时,Docker会直接重启之前停止的13.3容器(而非基于15.3镜像创建新容器),此时容器使用的还是旧的配置和数据,自然只能用password1连接。

验证方式:执行docker ps -a查看所有容器,检查15.3对应的容器ID是否和之前13.3的一致,或者容器的镜像版本是否正确。

3. 数据卷未正确初始化

如果15.3实例的数据卷之前被用过(比如曾挂载过其他PostgreSQL容器),即使是新的卷名,里面可能残留了旧的数据库初始化数据,导致POSTGRES_PASSWORD不生效。这种情况需要清理对应的数据卷后重新启动容器:

  • 查看数据卷:docker volume ls
  • 删除目标数据卷:docker volume rm pg15_data
  • 重新启动15.3容器

内容的提问来源于stack exchange,提问作者Tsar Bomba

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.17 02:23:10