首页 > 其他 > 详细

docker-compose 解决服务启动完成时间顺序问题

时间:2021-06-16 14:34:01      阅读:26      评论:0      收藏:0      [点我收藏+]

背景:书写了 docker-compose 配置,但是发现服务启动异常,添加 depends_on 依旧如此

原因:depends_on 只能解决服务前后顺序依赖问题,不能判断容器里面的服务是否启动成功,因此当前面的服务没启动成功时就进行连接,造成服务报错

解决方法:

书写一个监控端口的脚本,判断当服务启动完成后,再进行下一个服务启动

vi Dockerfile

FROM centos
MAINTAINER wangzy
COPY start.sh /opt
WORKDIR /opt/
CMD /opt/start.sh

判断脚本

start.sh

#!/bin/bash
export JAVA_HOME=/opt/jdk1.8.0_101
export PATH=${JAVA_HOME}/bin:$PATH
while :
    do
      portNum=$(netstat -antup|grep 8080|wc -l)
      if [[ $portNum -lt 1 ]]; then
          sleep 1
      else
          break
      fi
    done

cd /opt/jos* && sh  startup.sh
tail -F logs/stdout

 

docker-compose 解决服务启动完成时间顺序问题

原文:https://www.cnblogs.com/wangzy-tongq/p/14888937.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!