docker服务器如何知道同一服务的所有其他容器?

我正在处理文件同步Docker微服务。 基本上我会有一个全局的file-sync服务(每个节点上一个)。 服务中的每个容器都需要与不同节点上的所有其他容器同步。 文件将分布在节点上,而不是完整的副本。 一些文件将只驻留在某些节点上。 我希望能够select性地将文件的一个子集从一个节点复制到另一个节点。

我怎样才能得到所有其他容器的端点列表,以便微服务可以与他们同行? 这需要以编程方式发生。

在相关说明中,我想知道如果文件同步微服务是我正在处理的解决scheme的最佳路线。

基本上我有一些用户上传的video。 我希望能够将它们编码成不同的格式。 我打算让video编码节点使用文件同步服务来获取文件,对video进行编码,然后使用文件同步将编码的文件推回到同一台服务器。 我知道我可以使用某种对象存储,但是这对于裸机专用服务器是不可用的,如果不需要,我宁愿不处理OpenStack。

对于上述build议感谢@ johnharris85。 对于任何感兴趣的人,我创build了一个可以在node使用的代码片段。

https://gist.github.com/brennancheung/62d2abe16569e600d2be5e9495c85331

 const dns = require('dns') function lookup (serviceName) { const tasks = `tasks.${serviceName}` return new Promise((resolve, reject) => { dns.lookup(tasks, { all: true }, (err, addresses, family) => { if (err) { return reject(err) } const filtered = addresses.filter(address => address.family === 4) const ips = filtered.map(x => x.address) resolve(ips) }) }) } async function main () { const result = await lookup('hello') console.log(result) } main()