将jhipster-console部署到不同的远程docker机器

时间:2016-04-26 20:06:46

标签: docker docker-compose jhipster docker-machine

我已经考虑将jhispter-console部署到不同的远程docker机器上,并想澄清什么是最好的方法。

免责声明:我对docker,docker-compose和docker-machine的体验非常有限,因此我非常感谢jhispter-console以及您可以为我提供的任何帮助。

这是我到目前为止所知道的。

根本不使用远程泊坞机

如果您将jhispter-console项目克隆到远程docker主机并在每个远程主机上本地执行docker-compose,这可能是一种方法。

在我们的例子中,这是不可能的,因为我们不能/希望从远程主机访问git存储库。

问题1:docker-compose对不同环境的支持非常有限

再次使用卷./log-monitoring/log-config/:/config-dir的示例。如果./log-monitoring/log-config/的路径在所有docker机器上不相同,例如./log-monitoring/...在远程docker机器上使用本地docker机器和/home/dockeruser/...时,您需要有两个单独的docker-compose.yml文件。每次执行docker-compose时,都要指定要使用的yml文件。

我真的不喜欢让多个docker-compose.yml只是为了拥有一些不同的路径。

问题2:docker-compose中的卷正在映射(远程)主机

这里不足为奇,但只是陈述一个事实。例如。如果您为./log-monitoring/log-config/:/config-dir定义了一个卷,则路由器主机上的路径./log-monitoring/log-config/必须是可用的,而不是您正在执行docker-compose的计算机。

这意味着,我们必须确保例如必须在远程docker机器上提供logstash.conf文件。

可能的解决方案

我已着手解决上述问题

  • 问题1:我在blog post找到了Lucas Blogulus,它将docker-compose执行包装在shell脚本中。 shell脚本的功能是获取模板compose.yml文件并使用envsubst替换变量占位符。结果将传递给docker-compose执行。
    使用此方法,您可以管理一个compose.yml文件,并为每个环境生成一个文件。
  • 问题2:我看到一种方法,你有另一个shell脚本来包装docker-compose up -d命令。在此shell脚本中,您将使用scp将所需文件复制到远程主机。这样做的最新版本的文件将被复制到远程主机,然后在安装卷时使用。

感谢您的反馈/帮助!

  • 您对在多台远程泊机器上使用jhispter-console的最佳方式有何看法?
  • 我说错了上面提到的所有东西?
  • 还有其他想法吗?

0 个答案:

没有答案