我尝试使用pg
和pgadmin
创建一个docker-compose
堆栈,如下所示:
version: '3.1'
services:
pg-admin:
image: dpage/pgadmin4
volumes:
- /Users/pkaramol/Desktop/backup.tar:/pgadmin4/dvdrental.tar
ports:
- "8181:80"
environment:
PGADMIN_DEFAULT_EMAIL: user@domain.com
PGADMIN_DEFAULT_PASSWORD: 1234
depends_on:
- pg
pg:
image: postgres:12
volumes:
- ./pg-data:/var/lib/postgresql/data
environment:
POSTGRES_DB: postgres
POSTGRES_USER: postgres
POSTGRES_PASSWORD: postgres
restart: always
但pgadmin
会将错误注销,如下所示:
pg-admin_1 | Traceback (most recent call last):
pg-admin_1 | File "/usr/local/lib/python3.8/site-packages/flask/app.py", line 1811, in full_dispatch_request
pg-admin_1 | rv = self.preprocess_request()
pg-admin_1 | File "/usr/local/lib/python3.8/site-packages/flask/app.py", line 2087, in preprocess_request
pg-admin_1 | rv = func()
pg-admin_1 | File "/usr/local/lib/python3.8/site-packages/flask_wtf/csrf.py", line 224, in csrf_protect
pg-admin_1 | self.protect()
pg-admin_1 | File "/usr/local/lib/python3.8/site-packages/flask_wtf/csrf.py", line 259, in protect
pg-admin_1 | self._error_response(e.args[0])
pg-admin_1 | File "/usr/local/lib/python3.8/site-packages/flask_wtf/csrf.py", line 302, in _error_response
pg-admin_1 | raise CSRFError(reason)
pg-admin_1 | flask_wtf.csrf.CSRFError: 400 Bad Request: The CSRF session token is missing.
有什么建议吗?
5条答案
按热度按时间qf9go6mv1#
确保在启动容器之前关闭连接到pgAdmin的选项卡。
x33g5p2x2#
也许你在同一台主机上运行了多个pgAdmin示例?至少对我们来说这是个问题。关闭其中一个就解决了这个问题。
7gcisfzg3#
对我来说,只有清除饼干解决了这个问题。
dffbzjpn4#
对我来说,有三个问题,我不知道哪一个解决了它:
PGADMIN_LISTEN_PORT: 8082
注意:我仍在使用端口8082,可以成功登录。
zujrkrfu5#
我在Azure Conatiner应用程序和容器示例中偶然发现了这一点。每当PGAdmin位于负载平衡器或网关后面时,对我有效的方法是简单地禁用作为.env变量的增强型Cookie保护标志。
希望这能帮助到一些人。