Docker 容器无法连接到 MySQL 数据库

Docker Container cant connect to MySQL database

我在 docker 容器中有一个 MySQL 实例 运行,可在我的主机系统的端口 3333 上使用。我已经通过 MySQL workbench 验证我创建的用户是否能够登录到 SQL 服务器。

我在容器中还有一个 wikijs (installation guide found here) 实例 运行。 我已经提供了所有需要的环境变量,包括我已经测试过的用户信息,但是容器总是说连接被拒绝

有人知道问题出在哪里吗?

请尝试将端口调整为3306,看看是否有效

没有信息无助于解决你的问题,只是胡乱猜测:

默认情况下,docker 个容器正在加入一个与名为 bridge 的主机分开的虚拟网络。

您无法通过 localhost127.0.0.1 访问主机,因为它指向您的 docker 容器本身。要直接访问主机,要么让容器通过 --network=host 使用主机 IP(有一些缺点),要么使用 host.docker.internal 作为 DNS-Name 而不是 IP。

但是你不应该通过主机,使用别名或 IP 或容器直接连接到 mySQL-container。您将在 docker inspect <containername> 之前得到它。那么就不需要映射端口了..