无法将docker nginx服务器连接到本地mysql数据库
我正在尝试将docker nginx服务器连接到本地MySQL数据库。但我收到了以下错误: SQLSTATE[HY000][2002]连接被拒绝SQL:select*from information_schema.tables,其中table_schema=homestad,table_name=migrations,table_type='BASE table' 以下是我的docker composer代码:无法将docker nginx服务器连接到本地mysql数据库,mysql,laravel,docker,Mysql,Laravel,Docker,我正在尝试将docker nginx服务器连接到本地MySQL数据库。但我收到了以下错误: SQLSTATE[HY000][2002]连接被拒绝SQL:select*from information_schema.tables,其中table_schema=homestad,table_name=migrations,table_type='BASE table' 以下是我的docker composer代码: version: "3" networks: laravel:
version: "3"
networks:
laravel:
services:
site:
build:
context: .
dockerfile: nginx.dockerfile
container_name: nginx
ports:
- 8080:80
volumes:
- ./src:/var/www/html:delegated
depends_on:
- php
- redis
networks:
- laravel
php:
build:
context: .
dockerfile: php.dockerfile
container_name: php
volumes:
- ./src:/var/www/html:delegated
networks:
- laravel
redis:
image: redis:alpine
container_name: redis
restart: unless-stopped
ports:
- 6379:6379
networks:
- laravel
composer:
build:
context: .
dockerfile: composer.dockerfile
container_name: composer
volumes:
- ./src:/var/www/html
working_dir: /var/www/html
depends_on:
- php
user: laravel
entrypoint: ["composer", "--ignore-platform-reqs"]
networks:
- laravel
artisan:
build:
context: .
dockerfile: php.dockerfile
container_name: artisan
volumes:
- ./src:/var/www/html:delegated
working_dir: /var/www/html
user: laravel
entrypoint: ["php", "/var/www/html/artisan"]
networks:
- laravel
我只是简单地加上这个就解决了这个问题 host.docker.internal 到我的数据库主机。下面是代码示例
DB_CONNECTION=pgsql
DB_HOST=host.docker.internal
DB_PORT=5432
DB_DATABASE=
DB_USERNAME=
DB_PASSWORD=
我不是舒尔,它将以您需要的方式帮助您 您需要了解网关ip,才能连接到本地计算机
docker network inspect laravel | grep Gateway
然后把这个ip放到DB主机上
PS请注意,重新启动后,它将被更改。您如何将一个连接到另一个?你能显示相关的nginx配置吗?@DavidMaze我已经编辑了这个问题。请看一看。您还应该提供您的php连接字符串提示:问题可能是“localhost”和“127.0.0.1”之间的差异。如何将连接字符串添加到php中。@symcbean我是docker的新手