【问题标题】:pgadmin-4 in docker failed with gunicorn server start errordocker 中的 pgadmin-4 因 gunicorn 服务器启动错误而失败
【发布时间】:2021-08-13 03:27:59
【问题描述】:

我正在尝试在 docker 中运行 pgadmin,如下所示,并在启动 gunicorn 20.0.4 错误时出现异常。有什么办法可以解决这个问题吗?

docker run -p 80:80  -e "PGADMIN_DEFAULT_EMAIL=email@domain.com" -e "PGADMIN_DEFAULT_PASSWORD=postgres" -d dpage/pgadmin4

Docker 日志

NOTE: Configuring authentication for SERVER mode.
[2021-08-13 03:03:04 +0000] [1] [INFO] Starting gunicorn 20.0.4
[2021-08-13 03:03:04 +0000] [1] [ERROR] Retrying in 1 second.
[2021-08-13 03:03:05 +0000] [1] [ERROR] Retrying in 1 second.
[2021-08-13 03:03:06 +0000] [1] [ERROR] Retrying in 1 second.
[2021-08-13 03:03:07 +0000] [1] [ERROR] Retrying in 1 second.
[2021-08-13 03:03:08 +0000] [1] [ERROR] Retrying in 1 second.
[2021-08-13 03:03:09 +0000] [1] [ERROR] Can't connect to ('::', 80)

【问题讨论】:

  • 您是否已经在主机的 80 端口上进行了监听?
  • 不,80 端口没有监听

标签: docker pgadmin-4


【解决方案1】:

我猜你正在开发一个 禁用 IPv6 的系统,来自 /entrypoint.sh,接下来是 gunicorn 命令:

exec /venv/bin/gunicorn --timeout ${TIMEOUT} --bind ${PGADMIN_LISTEN_ADDRESS:-[::]}:${PGADMIN_LISTEN_PORT:-80} -w 1 --threads ${GUNICORN_THREADS:-25} --access-logfile ${GUNICORN_ACCESS_LOGFILE:--} -c gunicorn_config.py run_pgadmin:app

这意味着它默认使用ipv6地址,所以我想你可以试试gunicorn监听ipv4地址,通过PGADMIN_LISTEN_ADDRESS=0.0.0.0运行命令:

docker run -p 80:80 -e "PGADMIN_LISTEN_ADDRESS=0.0.0.0" -e "PGADMIN_DEFAULT_EMAIL=email@domain.com" -e "PGADMIN_DEFAULT_PASSWORD=postgres" -d dpage/pgadmin4

【讨论】:

  • 这对我有用,我禁用了 ipv6,谢谢!
猜你喜欢
  • 2017-06-14
  • 2019-09-25
  • 1970-01-01
  • 2016-12-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-08-11
相关资源
最近更新 更多