加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

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

发布时间:2020-12-16 03:23:00 所属栏目:安全 来源:网络整理
导读:我们正在尝试将系统移植到容器上,当前我们在Puppet中尝试使用Docker模块,并且在启动一些特定容器时遇到了问题. 我们有一个Web应用程序,MySQL,NginX,然后所有内容都通过HAproxy连接.他们每个人都住在自己的容器中. 我们先启动一些容器,例如,MySQL容器必须在HA

我们正在尝试将系统移植到容器上,当前我们在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;'

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读