docker部署项目通过127.0.0.1访问数据库:Connection refused
linux-dash
A beautiful web dashboard for Linux
项目地址:https://gitcode.com/gh_mirrors/li/linux-dash
免费下载资源
·
- 背景说明
- 同一台机子(以linux为例)部署以下项目、数据库
- docker部署mysql、mongo、postgresql、clickhouse数据库
- docker部署spring-boot项目、python、go等项目需要连接数据库
以spring-boot项目连接mysql为例,通常yml这样配置
jdbc:mysql://127.0.0.1:3306/database_1?useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2b8
-
报错原因
docker部署的项目、数据库是一个一个相互独立的环境
。即spring-boot容器连接数据是去该容器内找127.0.0.1的mysql数据库,找不到就报错 -
解决方案
使用host.docker.internal替换127.0.0.1,
示例:mysql://host.docker.internal:3306 mongodb://host.docker.internal:27017 postgresql://host.docker.internal:5432 clickhouse://host.docker.internal:8123
-
注意数据库启动时如果创建了网络
则使用创建的网络ip替换127.0.0.1
示例:# 创建网络 docker network create -d bridge --subnet 192.168.0.0/24 --gateway 192.168.0.1 pgnetwork # 具体yml使用 mysql://192.168.0.1:3306 mongodb://192.168.0.1:27017 postgresql://192.168.0.1:5432 clickhouse://192.168.0.1:8123
-
docker启动数据库记得加参数,示例
--network pgnetwork --ip 192.168.0.101
GitHub 加速计划 / li / linux-dash
6
1
下载
A beautiful web dashboard for Linux
最近提交(Master分支:3 个月前 )
186a802e
added ecosystem file for PM2 4 年前
5def40a3
Add host customization support for the NodeJS version 4 年前
更多推荐
已为社区贡献9条内容
所有评论(0)