如何解决如何从Docker容器访问远程IP上未容器化的数据库?
我正在尝试将Java Web服务打包在Docker中。我在VM上托管了一个postgres DB(非容器化),并且docker容器中的代码无法连接到数据库。该怎么做?
解决方法
理论上,spring.datasource.url= jdbc:postgresql://yourIpAddress/nameOfDB
应该起作用。
但是数据库不能在8080上运行,因此您需要绑定数据库端口(对于postgres 5432,对于mysql 3306),而我不会将其绑定到80,那里一切都在监听。
如果您正在运行postgres,它将在5432上进行监听,因此您可以进行docker run -p 8082:5432 postgres
这时您应该可以通过jdbc:postgresql://yourIpAddress:8082/nameOfDB
这一切都假设没有其他障碍,例如防火墙或其他。我也不知道您是如何配置虚拟机的。通常,您应该练习将它们连接到同一台计算机上,以便首先了解该想法。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。