[英]Connect to MySql Docker-Container from Intellij's Database Tool
我創建了一個 docker MySQL 這樣的容器
docker run --detach --name internal-mysql -p 6604:3306 -e MYSQL_ROOT_PASSWORD=user_pass -e MYSQL_DATABASE=internal -e MYSQL_USER=user -e MYSQL_PASSWORD=user_pass mysql
容器運行良好
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES e802cd30e6a2 mysql "docker-entrypoint.s…" 42 seconds ago Up 41 seconds 33060/tcp, 0.0.0.0:6604->3306/tcp internal-mysql
在容器內,我檢查了用戶主機,看起來不錯,不是嗎?
+------------------+-----------+
| user | host |
+------------------+-----------+
| root | % |
| user | % |
| mysql.infoschema | localhost |
| mysql.session | localhost |
| mysql.sys | localhost |
| root | localhost |
+------------------+-----------+
但是當我嘗試從 IntelliJ 或我的 Spring-Boot 應用程序連接到該數據庫時,我總是收到相同的錯誤
當然,我嘗試用谷歌搜索並發現在某些情況下它有助於通過docker inspect -f "{{range.NetworkSettings.Networks}}{{.IPAddress}}{{end}}" internal-mysql
找出容器 ip docker inspect -f "{{range.NetworkSettings.Networks}}{{.IPAddress}}{{end}}" internal-mysql
結果是 172.17.0.2
我試圖通過jdbc:mysql://172.17.0.2:3306/internal-mysql
連接
我已經嘗試使用 JDBC MYSQL Driver 8.0.21 和 5.1 都沒有成功。
有什么想法嗎?
由於您在主機的端口6604
上發布了 mysql 容器的3306
端口 - 當您嘗試從主機連接到您的 mysql docker 容器時,您應該使用6604
端口。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.