哪些工具可以管理Docker容器按顺序启动?

前端之家收集整理的这篇文章主要介绍了哪些工具可以管理Docker容器按顺序启动? 前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我们正在尝试将系统移植到容器上,当前我们在Puppet中尝试使用Docker模块,并且在启动一些特定容器时遇到了问题.
我们有一个Web应用程序,MySQL,Nginx,然后所有内容都通过HAproxy连接.他们每个人都住在自己的容器中.
我们先启动一些容器,例如,MysqL容器必须在HAproxy之前准备好.但是HAProxy的启动速度比MysqL快. HAProxy检查设置的TCP连接.因为MysqL还没有准备好,所以我们的应用程序守护进程无法启动.此外,由于HAProxy正在运行,而其余的服务也正在运行之后,我们真的不知道会继续进行. (我们也不能依赖pidfile,因为即使在未完全启动它的阶段也创建了它.)
在这种情况下,我们可以使用什么工具?
或者,更好的方法是什么?

最佳答案
最简单的方法是将重试策略简单地添加到您的容器中,并确保它在启动时无法访问所需的资源时退出

docker run -d MysqL
docker run -d --restart always --link MysqL:MysqL Nginx start_or_die.sh

此处的start_or_die.sh脚本将首先ping MysqL进行运行状况检查,然后启动Nginx

#!/usr/bin/env bash
set -e
MysqL -u root -e 'use mydbname'
Nginx -g 'daemon off;'

猜你在找的Docker相关文章