代码之家  ›  专栏  ›  技术社区  ›  user3174311

如何使用docker将Symfony4连接到mysql

  •  2
  • user3174311  · 技术社区  · 7 年前

    我正在尝试将(本地开发)symfony4连接到docker中的db,这是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文件中应该使用什么主机。

    谢谢

    3 回复  |  直到 7 年前
        1
  •  1
  •   A.L    7 年前

    您已将端口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

        2
  •  0
  •   Dimitrios Desyllas    7 年前

    根据使用情况,您应该尝试不同的方法。你不是在用电话吗 docker_compose.yml 然后尝试使用主机名 0.0.0.0:3306 this (这是为moodle准备的,但能完成任务)。

    服务 名称作为主机名,以便完成作业。通常我使用 docker-compose.yml 方法以配置我的运行环境。

    还要记住使用 docker-compose.yml .env

        3
  •  0
  •   Ilya D    7 年前

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

    此示例“mariadb”是容器别名。

    推荐文章