首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用码头将Symfony4连接到mysql

如何使用码头将Symfony4连接到mysql
EN

Stack Overflow用户
提问于 2018-12-09 10:20:09
回答 3查看 361关注 0票数 2

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

代码语言:javascript
复制
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文件中使用什么主机。

谢谢

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2018-12-09 13:55:28

您将端口3306绑定到主机,所以我们必须告诉Symfony使用这个端口。我们必须使用地址127.0.0.1,因为,MySQL试图通过套接字连接

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

代码语言:javascript
复制
DATABASE_URL=mysql://USER:PASSWORD@127.0.0.1:3306/DATABASE_NAME

您可能需要配置对MariaDB的访问:

代码语言:javascript
复制
doctrine:
    dbal:
        # configure these for your database server
        driver: 'pdo_mysql'
        server_version: 'mariadb-10.2'

请参阅带有symfony 4的MariaDB 10.0JSON类型

票数 1
EN

Stack Overflow用户

发布于 2018-12-09 14:03:21

根据使用情况,您应该尝试不同的方法。Id,您不是在使用docker_compose.yml,然后尝试使用主机名0.0.0.0:3306,但如果是dockerfile,例如 (它用于moodle,但完成了任务)。

因此,在后一种情况下,为了完成工作,我使用服务名称作为主机名。通常,我使用docker-compose.yml方法来配置我的运行环境。

另外,请记住,使用docker-compose.yml还会使用.env文件进行配置,因此也可能会导致冲突。

票数 0
EN

Stack Overflow用户

发布于 2018-12-10 07:34:19

DATABASE_URL=mysql://user:password@mariadb:3306/databaseName

这个示例"mariadb“是容器别名。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53691310

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档