如何设置Docker容器之间的链接,以便重启不会中断它?

如何设置Docker容器之间的链接,以便重启不会中断它?,第1张

如何设置Docker容器之间的链接,以便重启不会中断它?

的效果

--link
是静态的,因此它不适用于您的情况(尽管可以删除链接,但目前没有重新链接)。

我们在dockerize.it上使用了两种不同的方法来解决此问题,而没有链接或大使(尽管您也可以添加大使)。

1)使用动态DNS

通常的想法是,在启动和停止容器时,为数据库(或任何其他服务)指定一个名称,并使用实际IP更新短暂的DNS服务器。

我们从SkyDock开始。它与两个docker容器,DNS服务器和一个使其自动更新的监视器一起使用。后来,我们使用Consul(还使用了dockerized版本:docker
-consul)转向了更多自定义项。

这种情况的演变(我们尚未尝试过)将设置etcd或类似的东西,并使用其自定义API来学习IP和端口。该软件也应该支持动态重配置。

2)使用docker bridge ip

公开容器端口时,您可以将它们绑定到

docker0
网桥,该网桥具有(或可以具有)众所周知的地址。

用新版本替换容器时,只需使新容器在相同IP上发布相同端口即可。

这比较简单,但也有更多限制。如果您运行类似的软件,您可能会遇到端口冲突(例如,两个容器无法在

docker0
网桥上的3306端口上侦听)等问题,因此我们目前最喜欢的是选项1。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5163021.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-18
下一篇 2022-11-18

发表评论

登录后才能评论

评论列表(0条)

保存