【问题标题】:Service discovery and daemons with docker使用 docker 的服务发现和守护进程
【发布时间】:2014-04-18 14:28:35
【问题描述】:

以下是我对 Docker 的一些疑问:

鉴于 Docker 处理守护进程和服务之间的链接(不使用守护进程)的方式

1- 如果您可以运行守护进程和 bluepill 自行重启进程,进程监控、守护进程和应用程序链将如何工作(即:upstart/bluepill/unicorn)?

2- 如果您想坚持使用 upstart/bluepill/unicorn 模型,它将如何与高级代理的负载平衡一起使用来找到要平衡的容器的 IP 地址?

3- 推荐在 docker 顶部进行服务发现的软件,例如执行 rails 部署?

【问题讨论】:

    标签: ruby-on-rails nginx unicorn docker process-monitoring


    【解决方案1】:

    1- AFAIK,在 docker 容器中运行 bluepill(或其他进程监视器,如 supervisor 或 monit)没有问题。我经常使用这种工具在一个容器中运行多个服务。

    2- 对于负载平衡容器,您可以使用可以动态配置的负载平衡器(对于 http 平衡,hipache 是一个不错的选择),或者使用一些脚本来动态更新标准负载平衡器的配置并重新加载它(我用 nginx 做了很多次,它应该可以与其他解决方案一起使用)

    3- docker 生态系统中有一些用于服务发现的工具。你可以看看 Serf (http://www.serfdom.io/) 和 etcd (https://github.com/coreos/etcd)。对于部署部分,我建议您使用 Dockerfile 中的 ONBUILD 指令来注入应用程序代码并创建不可变容器。

    【讨论】:

    • etcd和serf,你推荐哪个?
    • 我确实比etcd更了解农奴,所以我更喜欢农奴,但这只是一个有偏见的观点......两者似乎都有优点和缺点,所以我真的认为你应该看看在选择使用哪一个之前。
    猜你喜欢
    • 2012-10-15
    • 1970-01-01
    • 2015-03-24
    • 1970-01-01
    • 1970-01-01
    • 2018-08-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多