Docker CI: 解决 Tomcat 服务宕机方案二 --restart always + 健康检测

本文介绍了如何在Docker(Centos7)环境中,通过Dockerfile构建Tomcat镜像,并结合--restart always及健康检测防止服务宕机。当Tomcat服务异常时,利用Shell脚本监测并自动重启,同时借助crontab定时执行任务确保服务稳定性。
摘要由CSDN通过智能技术生成

一、概述

基于 Docker 集成 CI 环境。涉及技术:Linux(Ubuntu 14.04), Docker, Jenkins, Git/Gitlab, Web/Httpbin, Python/Pytest, UI/Selenium, Robotframework, Grid Server, Appium 等。

架构图如下:

在这里插入图片描述

二、Docker 平台(Centos7):基于 Dockerfile 构建 Tomcat 新镜像

问题:Tomcat 服务宕机
方案:保持服务器正常提供服务,需要两个条件都有满足。即,服务自动重启和数据不丢失。因为/etc/hosts文件在重启之后还原,所以使用 Shell 控制。因健康检测的不足:延时较长,无法实时监控。增加 docker run 参数,–restart always 和 --add-host,保证服务停止时自动重启。

# cd /vm/docker/tomcat
# docker build -t healthcheck/tomcat .
dockerfile

HEALTHCHECK:健康检测
--interval:检查间隔(default 30s)
--timeout:超时(default 30s)
--retries:次数(default 3)

FROM tomcat
MAINTAINER Allan <mahuaping@roadoor.com>
ENV DEBIAN_FRONTEND noninteractive
# 健康检测
HEALTHCHECK --interval=5s --timeout=3s CMD curl --fail http://localhost:8080/ || exit
EXPOSE 8080

三、查看并运行 Tomcat 镜像

  1. 确定 STATUS 是 healthy 状态。
  2. 启动时修改 /etc/hosts 文件,参数 --add-host;详情参考官方文档
    --name:容器名
    -
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值