symfony - 如何使用 docker 将 Symfony4 连接到 mysql

标签 symfony docker symfony4

我正在尝试将(本地开发)symfony4 连接到 docker 中的数据库,这是 docker 容器

83d1b68ce44a        cytopia/mariadb-10.1:latest      "/docker-entrypoint.…"   3 days ago          Up About an hour    0.0.0.0:3306->3306/tcp                       devilbox_mysql_1

web 正在工作并且完全配置,我不明白我应该在 .env 文件中使用什么主机。

谢谢

最佳答案

你绑定(bind)了 3306 端口到主机,所以我们必须告诉 Symfony 使用这个端口。我们必须使用地址127.0.0.1因为with localhost , MySQL try to connect through a socket .

所以你应该得到这样的结果:

DATABASE_URL=mysql://USER:PASSWORD@127.0.0.1:3306/DATABASE_NAME

您可能需要配置对 MariaDB 的访问权限:
doctrine:
    dbal:
        # configure these for your database server
        driver: 'pdo_mysql'
        server_version: 'mariadb-10.2'

MariaDB 10.0 JSON type with symfony 4

关于symfony - 如何使用 docker 将 Symfony4 连接到 mysql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53691310/

相关文章:

Symfony2 : Best place to put business logic

php - Doctrine 生成实体命名空间问题?

Symfony2 和 FOSUserBUndle - 强制用户更改密码

docker - 无法理解此 docker 文件的网络部分(zabbix)

php - 如何配置symfony检查:requirements?

symfony - 在 JMS Serializer 上反序列化期间构造对象

python - 对 Docker 容器的 HTTP 调用将 IP 重定向到 Docker ID

node.js - 在node中使用系统环境变量/与docker react

dependency-injection - Symfony 4 服务注入(inject)参数太少

symfony - 如何更改 Symfony 的控制台脚本名称