我对 docker 还很陌生。
我对 docker 和微服务的主要概念非常了解,docker 的使用也非常了解。我知道如何管理容器、创建镜像等。
我现在面临的问题是使用许多容器并动态更新其中的服务配置。
例如,创建Dockerfile 来启动 jenkins 或启动 nginx 非常容易。
但是如何在 nginx 容器中自动添加新的虚拟主机,以将流量传递到 jenkins 容器,然后再传递到新创建的 nagios 容器,然后再传递到 puppet 仪表板容器。
我认为手动向 nginx 添加新的虚拟主机非常“过时”。我也觉得使用 puppet 配置 nginx docker 容器也很过时。我使用 puppet 在 docker 主机上部署 docker 镜像,但我不使用 puppet 来管理容器的内容。
我阅读了有关 consul/etcd 以及服务发现的整体想法,但对于如此简单的问题来说,它看起来有点“太多”。
我很高兴能从更有经验的 docker 用户那里了解到好的解决方案。如何在 docker 内部动态配置服务配置?
答案1
您可以使用基于容器的 docker 自省而使用自动生成的配置文件的反向代理。
下面是一张精确实现该功能的图像: https://github.com/jwilder/nginx-proxy