我正在研究使用docker来运行不同开发环境的视图。
我想使用带有nginx的服务器块将这些环境移植到各个子域。
是否可以在CoreOS系统上设置服务器块?我的印象是你设置的所有环境都必须是一个docker容器,如果我想为一个nginx实例设置所有子域,当这个实例必须在dockerized容器中独立运行时,我不确定这是如何工作的
我是否可以更好地设置基本安装的ubuntu nginx,然后在每个服务器块(子域)文件夹中安装各个docker实例。
答案 0 :(得分:2)
是的,这绝对是可能的。它涉及两个步骤:
构成开发环境的docker容器的服务发现。这意味着在启动容器时将其IP:port组合写入etcd。 这篇博文详细介绍了它的服务注册部分:http://coreos.com/blog/zero-downtime-frontend-deploys-vulcand/
使用confd动态写出你的nginx配置。 Confd将从etcd读取并使用循环来设置服务器块。然后将重新加载Nginx以应用新设置。 您可以在此博文中看到所有内容:http://marceldegraaf.net/2014/04/24/experimenting-with-coreos-confd-etcd-fleet-and-cloudformation.html
Confd Github: https://github.com/kelseyhightower/confd