首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在版本3中是否提供了docker-compose服务初始化?

问在版本3中是否提供了docker-compose服务初始化?
EN

Stack Overflow用户
提问于 2018-07-23 10:11:10
回答 1查看 340关注 0票数 0

我希望为docker-compose服务的启动设置一个初始化序列。Like服务'web‘应该等待'db’在docker-compose中完成。

我猜以前‘docker’就是为了这个目的而使用的,但是从版本3开始,'depends_on‘不再强加给docker服务启动顺序,因为docker想要在服务独立失败的时候随时启动它们。我想这是删除之前的等待功能的一个很好的理由。

但是,如果这是真的,那么在'db‘完全初始化并完成启动之前,我不想启动'web’服务,那么实现初始化序列的替代方案是什么呢?

如果我对这个话题的理解有误,请纠正我。

EN

回答 1

Stack Overflow用户

发布于 2018-07-23 15:32:13

docker compose中的依赖于支持只依赖于启动顺序,所以它实际上用处不大。

最好的方法是在从属容器之间共享一个卷,并让从属容器等待共享卷上的文件被另一个容器触及,然后再继续它需要做的事情。

例如,假设您正在恢复一个容器上的数据库,并且不希望在另一个容器中启动应用程序服务器,直到数据库启动:

在依赖容器中,用等待的入口点包装入口点:

代码语言:javascript
复制
#!/bin/bash

echo "Waiting for the other container"

Here use inotify to wait for a touch on a shared volume file

echo "Other container is up"

source /entrypoint.sh

在另一个容器的入口点的末尾,只需触摸共享卷文件

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51470803

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档