postgresql - Docker - 无法从 pgadmin 连接到 posgres
问题描述
我使用以下 docker-compose 文件运行 docker-compose 来运行 Postgres 和 pgadmin。我可以登录到 pgadmin 但 pgadmin 无法连接到 Postgres。但是,Postgres 运行平稳并接受请求。
docker-compose.yaml
version: "3"
services:
postgres:
image: postgres
ports:
- 5432:5432
environment:
- POSTGRES_USER=postgres
- POSTGRES_PASSWORD=password
volumes:
- postgres-data:/var/lib/postgresql/data
pgadmin:
image: dpage/pgadmin4
ports:
- 5050:80
environment:
- PGADMIN_DEFAULT_EMAIL=user@hotmail.com
- PGADMIN_DEFAULT_PASSWORD=password
volumes:
postgres-data:
driver: local
这是从 pgadmin 视图页面连接 Postgres 时的错误。
无法连接到服务器:
无法连接到服务器:连接被拒绝 服务器是否在主机“localhost”(127.0.0.1) 上运行并接受端口 5432 上的 TCP/IP 连接?无法连接到服务器:地址不可用服务器是否在主机“localhost”(::1) 上运行并接受端口 5432 上的 TCP/IP 连接?
或者
这是 docker-compose 日志。
db_1 | PostgreSQL init process complete; ready for start up.
db_1 |
db_1 | 2021-02-02 04:57:59.825 UTC [1] LOG: starting PostgreSQL 12.5 (Debian 12.5-1.pgdg100+1) on x86_64-pc-linux-gnu, compiled by gcc (Debian 8.3.0-6) 8.3.0, 64-bit
db_1 | 2021-02-02 04:57:59.825 UTC [1] LOG: listening on IPv4 address "0.0.0.0", port 5432
db_1 | 2021-02-02 04:57:59.825 UTC [1] LOG: listening on IPv6 address "::", port 5432
db_1 | 2021-02-02 04:57:59.842 UTC [1] LOG: listening on Unix socket "/var/run/postgresql/.s.PGSQL.5432"
db_1 | 2021-02-02 04:57:59.867 UTC [76] LOG: database system was shut down at 2021-02-02 04:57:59 UTC
db_1 | 2021-02-02 04:57:59.877 UTC [1] LOG: database system is ready to accept connections
pgadmin_1 | NOTE: Configuring authentication for SERVER mode.
pgadmin_1 |
pgadmin_1 | [2021-02-02 04:58:10 +0000] [1] [INFO] Starting gunicorn 19.9.0
pgadmin_1 | [2021-02-02 04:58:10 +0000] [1] [INFO] Listening at: http://[::]:5050 (1)
pgadmin_1 | [2021-02-02 04:58:10 +0000] [1] [INFO] Using worker: threads
pgadmin_1 | /usr/local/lib/python3.9/os.py:1023: RuntimeWarning: line buffering (buffering=1) isn't supported in binary mode, the default buffer size will be used
pgadmin_1 | return io.open(fd, *args, **kwargs)
pgadmin_1 | [2021-02-02 04:58:10 +0000] [87] [INFO] Booting worker with pid: 87
pgadmin_1 | ::ffff:192.168.80.1 - - [02/Feb/2021:05:34:52 +0000] "GET /browser/ HTTP/1.1" 302 257 "http://localhost:5050/login?next=%2Fbrowser%2F" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.96 Safari/537.36"
pgadmin_1 | ::ffff:192.168.80.1 - - [02/Feb/2021:05:34:52 +0000] "GET /login?next=%2Fbrowser%2F HTTP/1.1" 200 1707 "http://localhost:5050/login?next=%2Fbrowser%2F" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.96 Safari/537.36"
pgadmin_1 | 2021-02-02 05:34:52,568: ERROR flask.app: 404 Not Found: The requested URL was not found on the server. If you entered the URL manually please check your spelling and try again.
pgadmin_1 | Traceback (most recent call last):
pgadmin_1 | File "/usr/local/lib/python3.9/site-packages/flask/app.py", line 1813, in full_dispatch_request
pgadmin_1 | rv = self.dispatch_request()
pgadmin_1 | File "/usr/local/lib/python3.9/site-packages/flask/app.py", line 1791, in dispatch_request
pgadmin_1 | self.raise_routing_exception(req)
pgadmin_1 | File "/usr/local/lib/python3.9/site-packages/flask/app.py", line 1774, in raise_routing_exception
pgadmin_1 | raise request.routing_exception
pgadmin_1 | File "/usr/local/lib/python3.9/site-packages/flask/ctx.py", line 336, in match_request
pgadmin_1 | self.url_adapter.match(return_rule=True)
pgadmin_1 | File "/usr/local/lib/python3.9/site-packages/werkzeug/routing.py", line 1945, in match
pgadmin_1 | raise NotFound()
pgadmin_1 | werkzeug.exceptions.NotFound: 404 Not Found: The requested URL was not found on the server. If you entered the URL manually please check your spelling and try again.
我不知道可能出了什么问题。
解决方案
推荐阅读
- javascript - 递归异步到承诺或回调
- pandas - 在创建新列时转换熊猫数据框
- ajax - 如何在弹出窗口中显示成功和错误消息而不在 Laravel 中重新加载页面
- perforce - 在 Perforce 中使用导入的文件从主流创建发布流
- mysql - 如何对列进行分组并获得这些重复的最大值
- schema - 为自定义实体扩展 Schema.org
- python - 在 Python 中,调用 __iter__ 时“重置”迭代器是一种不好的做法吗?
- javascript - 开玩笑的意外令牌导出
- mysql - mysql查询中的DISTINCT和AVG
- python - 具有多个分隔符和非罗马字符的 Python 字符串拆分