Mysql 从Symfony Docker容器到MariaDB容器的条令连接被拒绝

Mysql 从Symfony Docker容器到MariaDB容器的条令连接被拒绝,mysql,docker,symfony,mariadb,Mysql,Docker,Symfony,Mariadb,凌晨2:30撞我的头 我有三个Docker容器MariaDB,Nginx和PhpFpm MariaDB打开3306/tcp-没有公开的端口,因为所有容器共享同一个Docker网络 Symfony在PhpFpm中启动,并通过端口8081上的Nginx暴露 所以myhost.com:8081显示了我的Symfony应用程序 当我docker exec bash进入我的PhpFpm容器并执行bin/console条令:schema:createschema时,MariaDB有一个新表 当然,我会清除缓

凌晨2:30撞我的头

我有三个Docker容器MariaDBNginxPhpFpm

MariaDB打开3306/tcp-没有公开的端口,因为所有容器共享同一个Docker网络

Symfony在PhpFpm中启动,并通过端口8081上的Nginx暴露

所以myhost.com:8081显示了我的Symfony应用程序

  • 当我
    docker exec bash
    进入我的PhpFpm容器并执行
    bin/console条令:schema:create
    schema时,MariaDB有一个新表
  • 当然,我会清除缓存并为APP_ENV=prod预热它
  • var/log和var/cache设置了正确的权限
  • 无论我做什么,当在我的Symfony应用程序的控制器中使用PDO连接时,我都会得到一个

    连接拒绝错误

    在容器中的my prod.log中可见

    我尝试了.env,其中有几个选项,最突出的是:

  • 数据库URL=”mysql://user:pass@主机名:8084/db”(这里我为MariaDB容器设置了-p8084:3306)
  • 数据库URL=”mysql://user:pass@mariadbcontainername:3306/db”(在这里我没有公开上面提到的任何db端口)
  • 有人知道去哪里看和测试什么吗

    当我将数据库URL更改为无意义值时,我甚至可以验证我的
    bin/console命令…
    命令是否已经收到连接拒绝错误


    注意:由于服务器限制,我不使用docker compose,只使用docker run。

    nginx在将内容转发到php fpm时设置了环境变量,这些变量可能会覆盖任何本地内容集。否则:您可以将一个文件添加到public中,该文件只输出初始化的env变量。谢谢,这确实是个问题。在我的nginx conf中发现一些不正确的fastcgi_参数。哦,我的。。。这花了我好几个小时。谢谢。