2 回答
TA贡献1784条经验 获得超7个赞
我现在找到了解决办法。
所以问题出在ufw. 我有这样的规则:
3307 ALLOW aaa.aaa.aaa.aaa
3307 ALLOW prod.local.ip.notebook
3307 ALLOW bbb.bbb.bbb.bbb
这就是为什么从我的本地开发计算机(又名。prod.local.ip.notebook)访问和从server A(又名 aaa.aaa.aaa.aaa)访问有效
问题是 bbb.bbb.bbb.bbb,因为带有访问数据库的 rest-API 的容器在ufw. 要允许此 IP,我必须获取容器的IP.
所以我跑了:docker exec -it xyz /bin/sh,然后在容器内:ifconfig返回172.22.0.5了eth0。
这是必须添加到的 IP ufw。所以我的新ufw配置如下所示:
3307 ALLOW aaa.aaa.aaa.aaa <- remote server
3307 ALLOW prod.local.ip.notebook <- development
3307 ALLOW bbb.bbb.bbb.bbb
3307 ALLOW 172.22.0.5 <- container ip
TA贡献1966条经验 获得超4个赞
在 Docker 中运行时需要替换bbb.bbb.bbb.bbb:3307
为。userDB:3306
尝试使它成为您在运行时传递的参数,这样您就不必在使用或不使用 Docker 运行时更改代码。
此外,除非您想使用某些外部工具连接到数据库,否则您不必映射端口 3306。您的 dockerized 应用程序不需要它。
- 2 回答
- 0 关注
- 80 浏览
添加回答
举报