Docker运行pgadmin4报错PGADMIN_DEFAULT_EMAIL不是有效邮箱如何解决?
问题原因与解决办法
根因
Linux环境下docker-compose对.env文件的解析规则和Windows环境存在差异:Windows版Docker Desktop读取.env文件时会自动剔除变量值外层包裹的引号,而Linux环境下引号会被直接作为变量值的一部分。
你配置的PGADMIN_DEFAULT_EMAIL="server@myapp.de"实际传入pgadmin容器的取值为"server@myapp.de"(包含外层双引号),不符合pgadmin的邮箱格式校验规则,因此触发报错。
解决方案
- 修改
.env文件,删除所有变量值外层的单/双引号,修改后内容如下:
.env文件本身不需要额外用引号包裹字符串值,直接书写即可。PMA_USER=root PMA_PASSWORD=XXXX POSTGRES_DB=postgres POSTGRES_USER=admin POSTGRES_PASSWORD=XXXX PGADMIN_DEFAULT_EMAIL=server@myapp.de PGADMIN_DEFAULT_PASSWORD=XXXX - 清理之前启动残留的容器与关联卷,执行命令:
docker-compose down -v - 重新启动服务即可:
docker-compose up -d - 可执行
docker-compose logs pgadmin查看容器运行日志,确认无报错即为修复成功。
内容的提问来源于stack exchange,提问作者sers
相关产品推荐
相关产品推荐

