Shell脚本控制tomcat的docker容器的创建,删除,启动,关闭

说明:

多个tomcat容器,同时启动和关闭,每个docker容器的网络管理使用pipework控制.此脚本用来管理多个容器的创建,删除,启动和关闭.使用者可自行修改.

#!/bin/bash
# chkconfig:2345 11 90
# description: Docker $Name
BEGIN=1
END=4
Name=api
Host="$Name"
Mem=2048m
Container_web_DIR="/tomcat/webapps"
Container_log_DIR="/tmp"
Host_web_DIR="/opt/docker/$Name/web"
Host_log_DIR="/opt/docker/$Name/log"
IOS="192.168.0.136:5000/singulax/tomcat:7.0.55.1"
Net="172.17.6"
GATEWAY="$Net.254"
create(){
   for ((n=BEGIN;n<=END;n++))
   do
    docker  run  -d --privileged --name  $Name$n    -h  $Host$n  -m $Mem --memory-swap=$Mem  -v /etc/localtime:/etc/localtime  -v $Host_web_DIR:$Container_web_DIR  -v $Host_log_DIR:$Container_log_DIR   $IOS
    docker  exec   -it   $Name$n  ifconfig  eth0  down
    /usr/local/bin/pipework  docker0  -i  eth1  $Name$n $Net.$n/[email protected]$GATEWAY
   done
}
delete(){
  for ((n=BEGIN;n<=END;n++))
  do
   docker  stop   $Name$n  &&  docker  rm  $Name$n
  done
}
start(){
  for ((n=BEGIN;n<=END;n++))
  do
   docker  start   $Name$n
   docker  exec   -it   $Name$n  ifconfig  eth0  down
   /usr/local/bin/pipework docker0 -i eth1  $Name$n  $Net.$n/[email protected]$GATEWAY
  done
}
stop(){
  for ((n=BEGIN;n<=END;n++))
  do
   docker  stop   $Name$n
  done
}
case $1 in
create)
   echo "Creating  $Name  Containner  for  $Name Docker Service"
   create
;;
delete)
   echo "Deleting  $Name  Containner  for  $Name Docker Service"
   delete
;;
start)
   echo  "Start running  $Name Containner"
   start
;;
stop)
   echo  "Stop running   $Name Containner"
   stop
;;
*)
   echo  $"Usage: $0 {start|stop|create|delete}"
   exit 1
;;
esac
时间: 2024-10-08 21:31:43

Shell脚本控制tomcat的docker容器的创建,删除,启动,关闭的相关文章

Linux下shell脚本监控Tomcat的状态并实现自动启动

最近公司需要在Linux下监控tomcat的服务,一旦tomcat服务存在异常或者宕机,重启tomcat保证服务的正常运行,由于Linux下有Shell脚本可以实现此效果,下面是Linux下shell脚本监控Tomcat的状态并实现自动启动的步骤. 1.编写Shell脚本monitor.sh #!/bin/sh # func:自动监控tomcat脚本并且执行重启操作# author:EagleHao# date:2018-04-08# DEFINE # 获取tomcat进程ID(其中[grep

shell脚本调度 Tomcat 启动、停止

Tomcat启动: shell脚本调度tomcat时,必须将java home添加到环境变量中,否则无法调用成功 #!/bin/bashexport JAVA_HOME=/usr/lib/jvm/jdk1.8.0_231echo "The execute stime is:"`date` >> execute.logsh /root/apache-tomcat-7.0.94/bin/startup.sh Tomcat停止: 用tomcat自带的shutdown.sh有时不起

Shell脚本实现 tomcat 日志定时切割

日志切割的意义: 在生产环境中,当我们使用tomcat服务时,如果用户量过多,有没有日志切割,将会产生很大的日志,一天的日志都能有好几个G大小.当我们需要查看日志记录时,非常麻烦.因此,日志切割是很有必要的! 1.编写shell脚本 vim fengelog.sh #脚本声明 #!/bin/bash . /etc/profile . ~/.bash_profile #定义日志文件目录 applog_path=/usr/local/apache-tomcat-app/logs sapplog_pa

docker 源码分析 五(基于1.8.2版本),Docker容器的创建

前面讲到了docker容器得镜像,镜像其实是docker容器的静态部分,而docker容器则是docker镜像的动态部分,即启动了一个进程来运行,本篇最要来分析一下怎样创建并运行一个容器. 创建一个容器在客户端实现是在api/client/create.go,其中得CmdCreate()方法,这个函数的作用是通过一个给定的image来启动一个container:其中的createContainer()函数是最主要的实现部分: //create the container serverResp,

《Linux命令行与shell脚本编程大全》第十七章 创建函数

可以将shell脚本代码放进函数中封装起来,这样就能在脚本中的任何地方多次使用它了. 17.1 基本的脚本函数 函数:是一个脚本代码块,可以为其命名并在代码中任何位置重用. 17.1.1 创建函数 有两种格式:name 是函数名 1) function name {          commands } 2)这种就比较接近c语言风格了 name() {          commands } 17.1.2 使用函数 跟其他shell命令一样,在行中指定函数名就好了. 在函数定义前使用函数,会收

shell脚本监控进程是否存在,不存在则启动实例

用shell脚本监控进程是否存在 不存在则启动的实例,先上代码干货: #!/bin/sh ps -fe|grep processString |grep -v grep if [ $? -ne 0 ] then echo "start process....." else echo "runing....." fi processString 表示进程特征字符串,能够查询到唯一进程的特征字符串 0表示存在的 $? -ne 0 不存在,$? -eq 0 存在 定时执行

shell脚本切割tomcat日志文件

转自:http://www.cnblogs.com/lishun1005/p/6054816.html 鉴于在调试logback和log4j的文件切割一直无法成功,随性用shell写个脚本用来切割tomcat下的日志文件(大家如果有在logback或log4j使用文件切割成功的话,可以留下使用方式,先谢谢了) 1:废话少说,直接贴上脚本: #!/bin/sh log_dir=/var/log/tomcat monitor_file=$1 #tomcat目录下的catalina.out文件的绝对路

Shell 脚本 更换tomcat集群war包

运行之前将服务器弄成免ssh登陆. 配置文件没有太大的改动 可以覆盖之前的配置 profile 配置文件 bak=/home/wsm/bak webapps=/home/wsm/webapps/WSMMeasure arry=192.168.68.29 192.168.10.147 newwar=1.war deplypath=/home/wsm/deploy scp.sh 拷贝相关war和脚本到远程服务上 scp.sh #!/bin/bash #拷贝war|deploy.sh|profile

shell脚本监控Tomcat并重启发送短信

#!/bin/sh TomcatID=$(ps -ef |grep tomcat |grep -w 'tomcat'|grep -v 'grep'|awk '{print $2}') StartTomcat=tomcat_startup_path WebUrl=www.xxx.com #需测试服务 TomcatMonitorLog=monitor_log_path Monitor() { if [ $TomcatID ]; then TomcatServiceCode=$(curl -I -m