mysql - 如何将 docker 容器与主机的 localhost mysql 数据库连接?

标签 mysql docker

我有一个在后端使用 MySQL 数据库的 war 文件。
我已经在一个 docker 容器中部署了我的 war 文件,我可以从我的浏览器中 ping 这个。
我想将我的应用程序与 MySQL 数据库连接起来。此数据库存在于我的主机的 localhost:3306
由于我无法从容器的本地主机内部连接它,所以我尝试的是,
我运行命令 docker inspect --format '{{ .NetworkSettings.IPAddress }}' 213be777a837这个命令给了我一个 IP 地址 172.17.0.2 .我去了 MySQL 服务器选项并将这个 IP 地址放在绑定(bind)字段中并重新启动服务器。之后,我用 172.17.0.2:3306 更新了我的项目数据库连接字符串。

但它不起作用。谁能告诉我我错过了什么?
我还尝试使用 root@% 添加一个新的数据库用户,然后运行命令允许对 'root@%' 的所有权限,但没有任何效果。

最佳答案

按照步骤:-

docker network create -d bridge --subnet 192.168.0.0/24 --gateway 192.168.0.1 dockernet
docker run -p 8082:8080 --network dockernet -d 6ab907c973d2
in your project set connection string : jdbc:mysql://host.docker.internal:3306/....

然后部署。

关于mysql - 如何将 docker 容器与主机的 localhost mysql 数据库连接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61263439/

相关文章:

php - 在数据库中搜索内容 (2) - SELECT - 需要在 2 个表中搜索

php - 使用 Docker 进行开发,我应该使用 ADD 还是 VOLUME?

maven - Docker Jenkins集成

docker - 将 jar 添加到 Confluence Docker 中的常规 Kafka Connect 类路径

php - Laravel 5.4 查询包含 JSON 数组的 JSON 字段

mysql - InnoDB 中的 Auto_increment 值?

docker - 使用 TopShelf 的 .net core 控制台应用程序

java - 如何为基于 json 的插件设置 'docker plugin install'

php - 向 yahoo 和 hotmail 用户发送电子邮件?

php - 从单行 SQL 中获取键和值