关于Docker中使用MySQL数据库的连接问题

我在一个Ubuntu服务器中,安装了Docker,并且创建了一个跑Node.js应用的Docker,宿主机上安装了一个MySQL,但是在我Node应用的Docker里面通过 127.0.0.1::3306 并不能连接到宿主机上的MySQL,请问大神如何才能解决。

试过MySQL也放在一个docker容器里面运行,但是这样的话好像docker也必须要使用服务器的公网ip:3306连接,况且我的Nodejs应用启动时要先依赖MySQL启动了才能连接,不知如何才是好的解决方案。

阅读 7k
2 个回答
新手上路,请多包涵

每个docker容器都有自己的ip,一般docker的ip是以172.17.0.x这样的形式分配的。
你的宿主机也是有ip地址的。你在docker里面写127.0.0.1是有问题的,那只会指向你自己的docker本机。
正确的做法是,写成宿主机的ip地址就可以了。

欢迎加Q群交流讨论Java技术:696883318

端口映射就行了

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题