如何容器化依赖数据库的服务?

时间:2018-11-18 14:46:28

标签: docker architecture dependencies containers

示例:我有一个微服务“ Alpha”,通常连接到“ http://localhost:3306/dbforalpha”。服务取决于该数据库。现在,我想对数据库和服务进行容器化。当然,数据库的地址正在更改,因此我什至无法为服务“ Alpha”构建映像。

现在我想知道如何处理该问题?与等待数据库容器运行以检查其ip:port相比,必须有一种更简单的方法。像kubernetes这样的工具可以解决这个问题吗?

1 个答案:

答案 0 :(得分:2)

Docker带有service discovery机制(这是服务如何知道如何相互通信的基本术语),容器可以链接在一起,并且可以使用DNS与它们通信。

例如,您的alpha服务可以链接到您的数据库,然后连接到db:3306,而Docker会在/etc/hosts中设置必要的alpha条目,以便它可以解析{{ 1}}到IP。