docker的tomcat打包 和cpu脚本

一、准备工作

1.准备JDK环境包(1.7以上即可)

百度网盘:
——链接:https://pan.baidu.com/s/1O-Z3LPs58Eqoc22hva2Kyg
——提取码:sn1w

2.准备Tomcat安装包(7或者8)

百度网盘:
—— 链接:https://pan.baidu.com/s/1g7D-ph8_7dAL91_-QfSrFA
–——提取码:94b0

3.基础镜像拉取

docker pull ubuntu:16.04

拉取成功后执行docker images 查看镜像列表
docker images

镜像列表:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ccCNFO0w-1594118549924)(C:\Users\TR\AppData\Roaming\Typora\typora-user-images\1594094726499.png)]

二、制作过程

1.创建工作目录

 mkdir -p  /opt/docker/biuld/tomcat7 

2.进入工作目录

 cd /opt/docker/biuld/tomcat7 

3.将jdk和tomcat安装包放入tomcat7目录下

]

4.编写Dockerfile

 vim Dockerfile 
FROM ubuntu:16.04 
MAINTAINER cc-man
#上传
ADD apache-tomcat-7.0.82.tar.gz /opt/tomcat
ADD jdk-7u80-linux-x64.tar.gz /opt/jdk
COPY /run.sh /root/run.sh
RUN  chmod 777 /root/run.sh
#环境变量
ENV JAVA_HOME=/opt/jdk/jdk1.7.0_80/jre
ENV PATH=:$JAVA_HOME/bin:$PATH
ENV CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/lib/tools.jar
ENTRYPOINT ["/root/run.sh"]

注意:(将tomcat和jdk版本替换成你的版本)

5.编写run.sh启动脚本

 vim run.sh 
#!/bin/bash
sh/opt/tomcat/apache-tomcat7.0.82/bin/catalina.sh run

注意: 将tomcat版本替换成你的版本

6.生成镜像

docker build -t my_tomcat:7.0 . 

7.查看新生成的镜像

 docker images 

![img](file:///C:\Users\TR\AppData\Roaming\Tencent\Users\1677138238\QQ\WinTemp\RichOle\9PH{~22DLEBIS C 0 C0 C0Y}PQF8.png)

8.运行容器

 docker run -d --name my_tomcat -p 8080:8080 my_tomcat:7.0 

9.查看运行容器

docker ps

10.Web访问Tomcat(ip+端口)

三、监控docker的脚本

#!/usr/bin/env python
import os
def docker_status_discovery(docker_status_finder):
    for containerid in docker_status_finder.readlines():
        if containerid=='cli\n':
            os.system('echo "hyperledger/fabric-peer Exited"|mail -s "Docker Exited" "***********@163.com" ')
    return
if __name__=="__main__":
    docker_status_finder = os.popen("""sudo docker ps -a |grep 'Exited'|awk {'print $NF'} """)
    docker_status_discovery(docker_status_finder
    )

四、docker的cpu监控脚本

#!/usr/bin/env python
 import docker
 import sys
 import subprocess
 import os

 def check_container_status(container_name,collect_item):
     #docker_client = docker_client.containers.get(container_name)
     container_collect=docker_client.containers.get(container_name).stats(stream=True)
     old_result=eval(container_collect.next())
     new_result=eval(container_collect.next())
     container_collect.close()
     if collect_item == 'cpu_percent':
        cpu_total_usage=new_result['cpu_stats']['cpu_usage']['total_usage'] - old_result['cpu_stats']['cpu_usage']['total_usage']
        cpu_system_uasge=new_result['cpu_stats']['system_cpu_usage'] - old_result['cpu_stats']['system_cpu_usage']
        cpu_num=len(old_result['cpu_stats']['cpu_usage']['percpu_usage'])
        result=round((float(cpu_total_usage)/float(cpu_system_uasge))*cpu_num*100.0,2)
     elif collect_item == 'mem_percent':
        mem_usage=new_result['memory_stats']['usage']
        mem_limit=new_result['memory_stats']['limit']
        result=round(float(mem_usage)/float(mem_limit)*100.0,2)
     return result
if __name__ == "__main__":
    docker_client = docker.DockerClient(base_url='unix://var/run/docker.sock', version='1.27')
    container_name=sys.argv[1]
    collect_item=sys.argv[2]
    print check_container_status(container_name,collect_item)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值