如何管理依赖的泊坞服务

时间:2017-12-03 21:00:50

标签: docker chef-solo

我有两个包含Cassandra服务器的docker,另一个包含一个带有我的应用程序的jetty服务器。

两个码头工人在码头和Cassandra开始后使用chef-solo进行配置和运行任务。

在Cassandra docker中,我们在服务器启动后运行密钥空间创建。 在码头,我们在服务器启动后将数据预加载到系统中。

问题是我需要知道Cassandra docker何时完成初始化才能启动jetty,因为为了预加载数据,我需要连接到the Cassandra。

我的问题是如何实现这一目标?

  • 是否有一个码头工作者推荐可以通知系统我的码头工具已经准备好了吗?
  • 有没有办法检查厨师是否完成初始化?
  • 也许我需要另一种方法?
建议将受到欢迎。

1 个答案:

答案 0 :(得分:0)

不,在Docker中没有本地方法可以做到这一点 - 其原因在于它不是应该如何使用容器。您的图片 是您的应用;上网时不应该进行配置。

这里你应该做的是将你的厨师脚本添加到public Display(String TITLE, Dimension screenSize, Core c) { setTitle(TITLE); setUndecorated(true); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setAlwaysOnTop(true); setResizable(false); add(c); pack(); setLocation(screenSize.width/2 - getSize().width/2, screenSize.height/2 - getSize().height/2); //Centers the window setVisible(true); } 并从中构建你的图像;这样你在运行应用程序时就可以开始了。

但是,如果您想控制启动顺序;你等待容器运行然后再启动另一个容器;但它不会等到它“准备好”。有关这方面的进一步阅读可以找到here

祝你好运!