残歌 2021-07-28 10:40 采纳率: 33.3%
浏览 362
已结题

在docker启动后执行shell脚本

有一个start.sh 的脚本 用来启动springboot的服务 设置开机自启了已经。
但是在这个脚本执行之前,docker里面的mysql容器并没有启动,就出现了找不到数据库的情况。
该如何设置让这个脚本在docker mysql容器启动后启动。

我已经在shell脚本最开头加了docker start mysql 问题得到解决,但是我觉得不太彻底,希望有一个更好的方式。

  • 写回答

3条回答 默认 最新

  • zs_cai 2021-07-30 21:49
    关注

    在脚本开头测试一下MySQL是否启动,比如过滤端口,或者使用命令测试,判断返回值

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
  • 关注

    启动顺序问题,连接池初始化timeout都会重试获取连接,正常应该不影响吧,或者配置数据源的时候检查一下服务是否正常?

    评论
  • 18.Show 2021-07-28 15:59
    关注

    建议不要把数据库跑在docker里

    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 2月2日
  • 已采纳回答 1月25日
  • 创建了问题 7月28日

悬赏问题

  • ¥15 kali显示no x11 display variable was set;
  • ¥15 Erasure Code纠删码表
  • ¥15 用vite创建的vue3项目,404重定向不起作用??
  • ¥15 关于#c语言#的问题:一个球从80米高度自由落下,每次落地后反弹的高度为原高度的一半计算6次小球反弹的高度.(反弹结果取整,使用走走for循环结构)
  • ¥15 SurfaceControl的screenshot问题
  • ¥15 基于51单片机的oled菜单代码,要C语言,模块化编程!
  • ¥15 JAVAswing,设计一个扑克牌什么的
  • ¥50 python ctypes调用dll实现分析
  • ¥40 用python解决数据统计问题
  • ¥100 是否有方案能通过抓包分析得到移动应用的名称和包名信息?