如何解决Docker Postgres 和 Adminer 接受连接但不起作用
在我的 rasperry pi 4 上,我已经安装了 docker 和 docker-compose,现在我正在尝试安装和使用 Postgres 和 Adminer 在 https://hub.docker.com/_/postgres 之后,我创建了 docker-compose.yaml 文件,如下所示:
# Use postgres/example user/password credentials
version: '3.1'
services:
db:
image: postgres
restart: unless-stopped
environment:
POSTGRES_PASSWORD: postgres
POSTGRES_USER: postgres
POSTGRES_DB: postgres
ports:
- 5432:5432
adminer:
image: adminer
restart: unless-stopped
ports:
- 8080:8080
我用
运行它docker-compose -f docker-compose.yaml up -d
在那之后 DB_1 启动和管理员也是
但是当我尝试连接到 http://192.168.1.38:8080/ 时我无法访问它
即使我尝试通过 pgAdmin 连接到 postgres 它也会说
无法连接到服务器:连接被拒绝 (0x0000274D/10061) 是 在主机“192.168.1.38”上运行并接受 TCP/IP 的服务器 端口 5432 上的连接?
但是,如果我不使用 docker-compose 而只是
docker run --name postgres -d --restart unless-stopped -p 5432:5432 -e POSTGRES_PASSWORD=123456 -v ${PWD}/data:/var/lib/postgresql/data postgres
它是通过 pgAdmin 工作的
你知道我做错了什么吗?
更新:似乎问题出在 docker-compose 上,因为任何类型的 docker-compose.yml 文件都会阻止与它的连接...
使用带有 djgango 的容器,我尝试启动服务器并且它可以工作,但是当我尝试访问页面时,它似乎也被阻塞了
当我运行 docker-compose.yaml 文件时docker-compose ps 输出是:
解决方法
PgAdmin 无法访问 5432 端口,因为您没有公开它。 与 Adminer 一样,您需要在您的撰写文件中公开您机器上的 Postgres 端口 5432。
version: '3.1'
services:
db:
image: postgres
restart: unless-stopped
environment:
POSTGRES_PASSWORD: postgres
POSTGRES_USER: postgres
POSTGRES_DB: postgres
ports:
- 5432:5432
adminer:
image: adminer
restart: unless-stopped
ports:
- 8080:8080
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。