我有两个包含Cassandra服务器的docker,另一个包含一个带有我的应用程序的jetty服务器。
两个码头工人在码头和Cassandra开始后使用chef-solo进行配置和运行任务。
在Cassandra docker中,我们在服务器启动后运行密钥空间创建。 在码头,我们在服务器启动后将数据预加载到系统中。问题是我需要知道Cassandra docker何时完成初始化才能启动jetty,因为为了预加载数据,我需要连接到the Cassandra。
我的问题是如何实现这一目标?
答案 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
祝你好运!