您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

如何将本地托管的MySQL数据库与Docker容器连接

如何将本地托管的MySQL数据库与Docker容器连接

在docker网络中找到主机IP。如果您使用docker-compose.yml version: "3",则该IP可能是:172.18.0.1搜索您的容器(您的主机)的“网关”:

docker inspect <container-id-or-name> | grep Gateway
"Gateway": "",
            "IPv6Gateway": "",
            "Gateway": "172.18.0.1",
            "IPv6Gateway": "",

因此,在您的docker应用程序内部,MysqL的指向如下172.18.0.1:3306:(也许在配置文件中)。请注意,只要docker网络仍然相同,该IP就是固定的(该网络是由docker- compose创建的,除非您这样做,否则不会将其删除docker-compose down

另外,检查您的MysqL是否正在监听其所有接口。在my.cnf搜索bind- address中应该是0.0.0.0(如果服务器具有公共IP,请考虑安全性问题)。

或者,您可以将与主机相同的网络连接到容器,以共享本地主机,因此容器将在其中找到MysqL。使用网络模式作为“主机”:

version: '3'
services:
  web-app:
    build:
      context: .
      dockerfile: web-app/Dockerfile
    ports:
       - 8080:8080
    network_mode: "host"

然后,将您hibernate.propertiesMysqL 指向如下:localhost:3306

MySQL 2022/1/1 18:14:30 有684人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶