你在 pgAdmin 的 Web 登录界面遇到了“Incorrect username or password.”错误。这个错误通常是因为登录时输入的邮箱或密码与启动 pgAdmin 容器时设置的PGADMIN_DEFAULT_EMAIL和PGADMIN_DEFAULT_PASSWORD不一致。我们来一步步排查和解决。 首先确认是 pgAdmin 登录错误还是添加 PostgreSQL 服务器时的连接错误如果是 pgAdmin 登录界面刚打开http://IP:5050就提示错误→ 说明容器创建时设置的邮箱/密码和你现在输入的不匹配。如果已经登录进 pgAdmin但在“添加新服务器”时提示这个错误→ 说明 PostgreSQL 数据库的用户名/密码不对与 pgAdmin 无关。从你的描述看很可能是在 pgAdmin登录界面遇到的。下面先解决这种情况。 解决方法一检查并重新设置 pgAdmin 登录凭据1. 查看当前容器的环境变量确认你设置的邮箱和密码dockerinspect pgadmin4|grep-A5Env或者直接查看容器日志里面可能不会明文显示密码但你可以确认邮箱dockerlogs pgadmin42. 如果记不清或想重新设置最简单的办法删除容器并用新的邮箱/密码重新创建dockerstop pgadmin4dockerrmpgadmin4然后用你确定能记住的邮箱和密码重新运行dockerrun-d--namepgadmin4\-p5050:80\-ePGADMIN_DEFAULT_EMAILadminexample.com\-ePGADMIN_DEFAULT_PASSWORD123456\-vpgadmin_data:/var/lib/pgadmin\dpage/pgadmin4注意使用-v pgadmin_data:/var/lib/pgadmin会保留之前的数据包括之前可能错误的登录尝试记录。如果还是不行可以换成新的数据卷名字或者先删除旧卷会丢失所有已保存的服务器配置dockervolumermpgadmin_data3. 登录时注意邮箱必须完全一致包括大小写pgAdmin 邮箱不区分大小写但建议原样输入密码区分大小写不要有多余空格 如果是添加 PostgreSQL 服务器时报错当你已经登录 pgAdmin在“Add New Server”时填写了 PostgreSQL 的连接信息Host, Port, Username, Password然后点击保存时提示“Incorrect username or password.”这意味着PostgreSQL 容器中配置的用户名或密码与你填写的不一致。解决方法确认 PostgreSQL 容器的用户名和密码如果你启动 PostgreSQL 时使用了环境变量例如dockerrun-ePOSTGRES_USERmyuser-ePOSTGRES_PASSWORDmypassword...那么在 pgAdmin 中填写Username为myuserPassword为mypassword。如果忘记密码可以进入 PostgreSQL 容器内重置dockerexec-itcd0bf8de325abashpsql-Upostgres ALTERUSERmyuser WITH PASSWORDnewpassword;然后用新密码连接。确保 Host 填写正确虽然报错是用户名/密码问题但网络不通有时也会混报这个错如果两个容器在同一个自定义网络填 PostgreSQL 的容器名如cd0bf8de325a或你设置的--name否则填宿主机的 IP例如192.168.x.x或localhost但 pgAdmin 在容器内时localhost指向 pgAdmin 自身不行 总结快速排查表场景检查点快速修复pgAdmin 登录界面报错容器环境变量PGADMIN_DEFAULT_EMAIL/PASSWORD删除容器用新邮箱/密码重建pgAdmin 添加服务器报错PostgreSQL 容器的POSTGRES_USER/POSTGRES_PASSWORD进入 PostgreSQL 容器重置密码如果你能确认是在哪一步遇到的错误我可以给出更精确的命令。你也可以直接尝试重新创建 pgAdmin 容器记得先 stop rm这通常能解决大部分登录问题。