我已经在我的机器上安装了PostgreSql,我想将其用作Dockerized Laravel Web应用程序的外部数据库。 我不想使用postgre图像,但是要使用本地数据库。也可以是mysql。
docker-compose.yml
`version: ‘3’
services:
app:
build:
context: .
dockerfile: .docker/Dockerfile
image: docker-app
ports:
- 8004:80`
.env
`DB_CONNECTION=pgsql
DB_HOST= 127.0.0.1 or localhost
DB_PORT=5432
DB_DATABASE=testdb
DB_USERNAME=postgres
DB_PASSWORD=password`
错误在下面给出:
SQLSTATE [08006] [7]无法连接到服务器:连接被拒绝
服务器是否在主机“ 127.0.0.1”上运行并且接受端口5432上的TCP / IP连接?
问题的原因,我知道应用程序容器未连接到外部DB,因为它位于文件系统之外。
如果我将DB_HOST更改为本地IP地址,就会出现
错误:SQLSTATE [08006] [7]严重:主机没有pg_hba.conf条目 10.0.9.57`
答案 0 :(得分:0)
如果收到消息“主机10.0.9.57没有pg_hba.conf条目”,则需要将PostgreSQL的配置更改为来自Docker映像(10.0.9.57)的所有远程连接,请参阅this answer >