首页 新闻 会员 周边 捐助

容器中的应用如何访问宿主机的数据库?

0
悬赏园豆:30 [已解决问题] 解决于 2024-07-17 13:37

容器中的应用如何访问宿主机的数据库?
win7上的docker, 容器ip为:192.168.99.100
我在容器中部署了一个简单的webapi,就测试一下访问数据库,但是始终连接不上

既然docker出来那么久,但是这个问题网上搜了2天无解,
我搞不懂为什么,这个问题那么值钱吗?为什么没人分享一下?

ljr忒修斯之船的主页 ljr忒修斯之船 | 初学一级 | 园豆:182
提问于:2019-01-18 17:50
< >
分享
最佳答案
0

两个问题:
1、容器能否ping通 宿主机?
2、宿主机的数据是否允许被其他ip 访问?
如果上诉没有问题的话,那么就可以连接才对。数据库的访问本质都是socket

收获园豆:30
xiaobaiskill | 小虾三级 |园豆:1122 | 2019-01-18 18:26
其他回答(2)
0

访问数据库是通过 localhost 这个主机名吗?

dudu | 园豆:29568 (高人七级) | 2019-01-18 17:59

不是,使用的是192.168.99.1(这个是按照网上说的ipconfig得到的值),192.168.99.100都不行

支持(0) 反对(0) ljr忒修斯之船 | 园豆:182 (初学一级) | 2019-01-18 18:01

@漂亮的猫: 用 localhost 或 172.0.0.1

支持(0) 反对(0) dudu | 园豆:29568 (高人七级) | 2019-01-18 18:02

@漂亮的猫: 或者防火墙允许数据库的端口

支持(0) 反对(0) dudu | 园豆:29568 (高人七级) | 2019-01-18 18:03

@dudu:
防火墙没开,172.0.0.1,172确定行?

支持(0) 反对(0) ljr忒修斯之船 | 园豆:182 (初学一级) | 2019-01-18 18:04
支持(0) 反对(0) dudu | 园豆:29568 (高人七级) | 2019-01-18 18:07
0

你这个思路就有问题 我想反问你 容器中的应用为什么要访问宿主机的数据库
你这种场景 并不是docker设计的初衷

ycyzharry | 园豆:25683 (高人七级) | 2019-01-18 18:09

数据库方便管理啊,之前也试过在容器里部署sqlserver,但是有很多报错信息。网上查了一下,目前好像不太支持数据库容器化的吧?不知道是不是我孤陋寡闻了。。

支持(0) 反对(0) ljr忒修斯之船 | 园豆:182 (初学一级) | 2019-01-18 18:11

@漂亮的猫: 建议你先不用docker

支持(0) 反对(0) ycyzharry | 园豆:25683 (高人七级) | 2019-01-18 19:37
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册