容器间phpPgAdmin登录失败求助(已尝试常见解决方案)
PostgreSQL容器与phpPgAdmin登录失败问题
在容器环境中,使用正确的数据库用户名和密码登录phpPgAdmin时,仅返回提示性极低的“login failed”错误。已尝试以下常见解决方案,但问题仍未解决:
- 容器处于同一网络
- 数据库使用默认端口且已完成端口转发
- 容器内部可互相ping通
- 可在宿主机及数据库容器内使用
psql工具,通过指定凭据登录PostgreSQL - 已确认执行
show listen_addresses;的返回值为"*" - 尝试通过phpPgAdmin登录时,PostgreSQL日志未显示任何相关连接信息或错误
- 已为容器配置推荐及必需的环境变量
- 尝试修改数据库容器的转发端口并同步调整
PHP_PG_ADMIN_SERVER_PORT,无任何变化 - 执行
netstat命令确认数据库在宿主机上监听正确端口 - 已多次重建容器,包括删除PostgreSQL的数据目录
- 为排查自动名称解析问题,尝试手动将数据库容器的Docker IP填入
PHP_PG_ADMIN_SERVER_HOST
以下是docker-compose.yaml配置内容:
networks: centurion: name: centurion-net services: benard: image: postgres:latest restart: always volumes: - /opt/containers/benard/persist/data:/var/lib/postgresql/data environment: - POSTGRES_DB=pg - POSTGRES_USER=pg - POSTGRES_PASSWORD=password ports: - "5432:5432" networks: - centurion benard_ui: depends_on: - benard restart: always image: dockage/phppgadmin:latest ports: - "8200:80" environment: - PHP_PG_ADMIN_SERVER_DESC=BENARD - PHP_PG_ADMIN_SERVER_HOST=benard - PHP_PG_ADMIN_SERVER_PORT=5432 - PHP_PG_ADMIN_SERVER_SSL_MODE=allow - PHP_PG_ADMIN_SERVER_DEFAULT_DB=template1 - PHP_PG_ADMIN_SERVER_PG_DUMP_PATH=/usr/bin/pg_dump - PHP_PG_ADMIN_SERVER_PG_DUMPALL_PATH=/usr/bin/pg_dumpall - PHP_PG_ADMIN_DEFAULT_LANG=auto - PHP_PG_ADMIN_AUTO_COMPLETE=default on - PHP_PG_ADMIN_EXTRA_LOGIN_SECURITY=false - PHP_PG_ADMIN_OWNED_ONLY=false - PHP_PG_ADMIN_SHOW_COMMENTS=true - PHP_PG_ADMIN_SHOW_ADVANCED=false - PHP_PG_ADMIN_SHOW_SYSTEM=false - PHP_PG_ADMIN_MIN_PASSWORD_LENGTH=1 - PHP_PG_ADMIN_LEFT_WIDTH=200 - PHP_PG_ADMIN_THEME=default - PHP_PG_ADMIN_SHOW_OIDS=false - PHP_PG_ADMIN_MAX_ROWS=30 - PHP_PG_ADMIN_MAX_CHARS=50 - PHP_PG_ADMIN_USE_XHTML_STRICT=false - PHP_PG_ADMIN_HELP_BASE=http://www.postgresql.org/docs/%s/interactive/ - PHP_PG_ADMIN_AJAX_REFRESH=3 networks: - centurion
内容的提问来源于stack exchange,提问作者Jacob Jewett
相关产品推荐
相关产品推荐

