我正在尝试将(本地开发) 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_1web正在工作,并且已经完全配置好了,我不知道我应该在.env文件中使用什么主机。
谢谢
发布于 2018-12-09 13:55:28
您将端口3306绑定到主机,所以我们必须告诉Symfony使用这个端口。我们必须使用地址127.0.0.1,因为,MySQL试图通过套接字连接。
所以你应该得到这样的结果:
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'发布于 2018-12-09 14:03:21
根据使用情况,您应该尝试不同的方法。Id,您不是在使用docker_compose.yml,然后尝试使用主机名0.0.0.0:3306,但如果是dockerfile,例如这 (它用于moodle,但完成了任务)。
因此,在后一种情况下,为了完成工作,我使用服务名称作为主机名。通常,我使用docker-compose.yml方法来配置我的运行环境。
另外,请记住,使用docker-compose.yml还会使用.env文件进行配置,因此也可能会导致冲突。
发布于 2018-12-10 07:34:19
DATABASE_URL=mysql://user:password@mariadb:3306/databaseName
这个示例"mariadb“是容器别名。
https://stackoverflow.com/questions/53691310
复制相似问题