首页  >  文章  >  后端开发  >  初始化数据库失败,出现错误拨号 tcp 127.0.0.1:3306: connect: 连接被拒绝 问题

初始化数据库失败,出现错误拨号 tcp 127.0.0.1:3306: connect: 连接被拒绝 问题

WBOY
WBOY转载
2024-02-06 10:42:041149浏览

初始化数据库失败,出现错误拨号 tcp 127.0.0.1:3306: connect: 连接被拒绝 问题

问题内容

我正在学习 docker,现在就开始吧 但是当我用这个 docker 运行时我遇到了问题 docker run --rm -p 8080:8080/tcp --env-file .env my-project:latest 这是我的一些 .env 代码。我在 Windows 上使用 docker 桌面,是否无法在 Windows 中的 localhost 上运行 docker?

DB_HOST=127.0.0.1
DB_USERNAME=root
DB_NAME=mydbs
DB_PASS=root123
AUTH_GEN_URL=https://api.learning.mydbs.id

有人知道吗?任何答案将不胜感激

谢谢你


正确答案


问题是,当您启动容器时,它会尝试连接到容器内的 127.0.0.1:3306 而不是主机,因此您会收到错误,因为连接被拒绝,因为端口 3306 上没有任何内容运行容器中的本地主机。

对于 Windows 和 Mac,可以使用 host.docker.internal 而不是 127.0.0.1 轻松修复此问题。这可确保容器内运行的服务正确连接到主机上运行的 MySQL 实例。

对于 Linux,它甚至更简单,因为您所要做的就是将 --network="host" 选项传递给 docker run 命令

以上是初始化数据库失败,出现错误拨号 tcp 127.0.0.1:3306: connect: 连接被拒绝 问题的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文转载于:stackoverflow.com。如有侵权,请联系admin@php.cn删除