php - Symfony 5 + Docker:SQLSTATE[HY000] [2002] 连接被拒绝
问题描述
尝试使用 Symfony 5 和 Docker 连接数据库时出现以下错误。
An exception occurred in driver: SQLSTATE[HY000] [2002] Connection refused
也许您可以知道我的配置文件有什么问题。如果我错过了任何可能与此问题相关的配置文件,请告诉我。
码头工人-compose.yaml:
mysql:
image: mysql:8
ports:
- "3306:3306"
volumes:
- ./docker/database:/docker-entrypoint-initdb.d
environment:
- MYSQL_DATABASE=${DATABASE_NAME}
- MYSQL_ROOT_PASSWORD=${DATABASE_ROOT_PASSWORD}
command: ["--default-authentication-plugin=mysql_native_password"]
教义.yaml:
doctrine:
dbal:
url: '%env(resolve:DATABASE_URL)%'
default_table_options:
charset: utf8mb4
collate: utf8mb4_unicode_ci
.env:
DATABASE_URL=mysql://root:root@127.0.0.1:3306/database_name?serverVersion=8.0
DATABASE_ROOT_PASSWORD=root
DATABASE_NAME=database_name
服务定义:
some.repository:
class: Some\Class
arguments:
- '@database_connection'
解决方案
DATABASE_URL 127.0.01 中的地址是指本地 docker 容器。问题是 MySQL 是另一个容器。
要解决此问题:在您的案例中将 127.0.0.1 替换为数据库容器“mysql”</p>
推荐阅读
- python - SQLAlchemy index names unique
- angular - 使用 HttpClient 和 RXJS 将数据发布到 Web API withCredentials: true
- python - 在 Python 中使用字典创建变量
- node.js - 安装 angular4 时 npm 文件夹为空
- c# - 在 XSLT C# 中动态创建 Xml 元素
- javafx - 来自列表
到地图 - apache-spark - 如何使用 Spark 结构化流从 Kafka 读取 JSON 数据并存储到 HDFS?
- angular - 根据用户在表单中输入的数据以角度 2 加载选择列表
- angular - Safari 更改日期和时间角度
- javascript - 将 Font Awesome 转换为 camelCase (Reactjs)