无法从Web Docker容器连接到外部PostgreSql数据库

时间:2020-02-19 00:40:32

标签: windows docker docker-compose

我已经在我的机器上安装了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`

1 个答案:

答案 0 :(得分:0)

如果收到消息“主机10.0.9.57没有pg_hba.conf条目”,则需要将PostgreSQL的配置更改为来自Docker映像(10.0.9.57)的所有远程连接,请参阅this answer