前言

在日常部署java 环境时经常会出现tomcat 版本不同或者java 项目不适用tomcat 作为web容器的情况,为方便使用,制作了一个通用的tomcat Docker 容器,用外部参数灵活判断具体的环境。

环境安装

docker pull centos
docker run --privileged --name centos -h Centos7 -d -i \
-v /Volumes/MacSoft/Downloads:/opt/soft -t centos /usr/sbin/init
docker exec -it centos /bin/bash

Dockerfile

FROM centos
MAINTAINER John.wang "mir355@163.com"
RUN yum install -y --nogpgcheck wget
ADD tomcat.sh /run.sh
RUN chmod 755 /run.sh# install JDK
RUN wget --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie"  http://download.oracle.com/otn-pub/java/jdk/8u161-b12/2f38c3b165be4555a1fa6e98c45e0808/jdk-8u161-linux-x64.rpm
RUN rpm -ivh jdk-8u161-linux-x64.rpm && rm -rf jdk-8u161-linux-x64.rpm# install tomcatRUN wget http://mirrors.hust.edu.cn/apache/tomcat/tomcat-8/v8.5.30/bin/apache-tomcat-8.5.30.tar.gz
RUN tar xzf apache-tomcat-8.5.30.tar.gz -C /usr/local && rm -rf apache-tomcat-8.5.30.tar.gz
RUN wget http://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-9/v9.0.7/bin/apache-tomcat-9.0.7.tar.gz
RUN tar xzf apache-tomcat-9.0.7.tar.gz  -C /usr/local && rm -rf apache-tomcat-9.0.7.tar.gzENTRYPOINT ["/run.sh"]

run.sh

#!/bin/sh
if [ "$1" == '' ]; then   ver="9"
elsever="$1"
fi  if [ "$ver" == "9" ]; then  ln -s /usr/local/apache-tomcat-9.0.7 /usr/local/tomcat
fi  if [ "$ver" == "8" ]; then   ln -s /usr/local/apache-tomcat-8.5.30 /usr/local/tomcat
fi  if [ -d "/usr/local/tomcat" ]; then/usr/local/tomcat/bin/catalina.sh run && tail -f /usr/local/tomcat/logs/catalina.out
else$ver
fi

保存并使用

docker tag tomcat 127.0.0.1:5000/tomcat
docker push 127.0.0.1:5000/tomcat
# 默认使用tomcat9
docker run -d  -h tomcat --name tomcat -v /Volumes/MacSoft/Downloads:/opt/soft -t 127.0.0.1:5000/tomcat
# 增加参数指定为tomcat8
docker run -d  -h tomcat --name tomcat -v /Volumes/MacSoft/Downloads:/opt/soft -t 127.0.0.1:5000/tomcat 8
docker exec -it tomcat /bin/bash

转载于:https://blog.51cto.com/13673090/2097323

Docker tomcat 多版本环境搭建相关推荐

  1. 柠檬班接口测试Tomcat+MySQL测试环境搭建

    Tomcat+MySQL测试环境搭建 安装Tomcat运行环境 配置MySQL数据库 发布项目 配置数据库开机自启 遇到的问题 安装Tomcat运行环境 参考链接: https://blog.csdn ...

  2. (三)Linux环境部署(Centos+Nginx+Tomcat+Mysql) - Nginx环境搭建

    因为在网上发现系统性.严谨(特别是在安全方面)的Linux部署方面的参考文章很少,于是整理以下六篇Linux环境部署的系列性文章,其为本人在实践中,完整的搭建一个基于Linux系统上Centos+Ng ...

  3. Nginx+Tomcat集群环境搭建

    Tomcat集群能带来什么? 提高服务的性能.并发能力.以及高可用性 提高项目架构的横向扩展能力 提高服务的性能 实际公司线上生产环境都会选择一台机器部署一个tomcat,多台机器完成集群,毕竟一台机 ...

  4. apache+tomcat集群环境搭建

    apache+tomcat集群环境搭建 1. 什么是集群         简单理解就是:将项目同时部署在多台服务器上(tomcat)运行,通过一个web服务器(Apache/nginx)进行请求分发和 ...

  5. Docker+K8S 集群环境搭建及分布式应用部署

    互联网正在飞速发展,早已由最初的单体架构演变为如今的分布式架构,而分布式架构也为系统运维带来了挑战.架构在发展,系统运维技术也在不断升级.而伴随着系统运维的是如今炒的火热的容器技术,Docker 就是 ...

  6. CentOS+Nginx+Tomcat+Mysql+PHP 环境搭建及系统部署

    ==============安装centos 7.0======================= 选择最小安装,将相关的"调试工具"."兼容性程序库".&qu ...

  7. rancher k8s docker 关系_【环境搭建】Ubuntu20.04通过rke部署K8S

    问题背景 rke大大简化了k8s集群的部署,但是也带来了一个问题:稍有差池就会一脸懵逼,rke的文档还是偏少,此外rke安装过程中的日志信息也是少的可怜,导致Google都不知道从何说起 关于rke( ...

  8. docker本地PHP开发环境搭建

    一.搭建本地PHP开发环境 概述 本文简单介绍通过启动一个nginx和fpm容器来搭建一个php web运行环境,以文档命令为例,H:/home/code/docker/web 目录下可以放多个子项目 ...

  9. idea启动tomcat没有加载项目_震惊!我三步就搞定了 Tomcat 源码环境搭建!

    喜欢请点关注 引言 随着微服务的流行,轻量级的服务应用器也是跟着大火了.毕竟那些企业级的服务应用器部署搭建成本太高.并且springboot 自带的就是 tomcat 服务. 所以我们也有必要学习 t ...

  10. linux 查看cuda版本_Ubuntu18.04+Tensorflow GPU版本环境搭建

    硬件平台:笔记本 处理器:I7 显卡:GTX960 系统:Ubuntu18.04 64位 步骤1.安装CUDA(无显卡不必安装) 去NVIDIA官网:CUDA Toolkit Archive 下载CU ...

最新文章

  1. Long-read human genome sequencing and its applications
  2. The substring() Method in JDK 6 and JDK 7
  3. BZOJ4668: 冷战 [并查集 按秩合并]
  4. BZOJ4008. [HNOI2015]亚瑟王 期望概率dp
  5. 测试 MySQL 性能的几款工具
  6. ubuntu apache php mysql phpmyadmin_Ubuntu下Apache+PHP+MySQL+phpMyAdmin的快速安装步骤
  7. .net core下简单构建高可用服务集群
  8. cesium米转换经纬度_Cesium 坐标系转换
  9. bom csv java_Java系列化与反系列化
  10. 专题:CentOS社区企业操作系统
  11. Linux 设置交换分区
  12. 单片机技术与c语言编程教学大纲,单片机原理及应用课程教学大纲
  13. R2统计学正确计算方法
  14. 修改CPAN配置文件
  15. 手把手教你美国亚马逊直购
  16. MTD系列 - 关于linux MTD的一些理解
  17. [读书笔记]结绳记事
  18. AC米兰2-1胜利物浦夺冠 巨星pippo和KAKA。_原水_新浪博客
  19. 结对作业之需求分析与原型设计
  20. 红黑树-介绍/性质/定理/基本操作/特点

热门文章

  1. html弧形列表效果,好看漂亮的html5网页特效学习笔记(5)_弧形菜单
  2. 同步现象 心理学_「心理学学了些什么?」基础心理学知识1
  3. python窗口怎么显示,如何使用Python在没有窗口的屏幕上显示文本
  4. java .class的作用_Java中Class类的作用与深入理解
  5. oracle mysql数据库管理工具下载_Oracle数据库管理工具PC版-Oracle数据库管理工具下载v15.0.21.0(32/64)-IE浏览器中文网站...
  6. SqlDataAdapter的增加,删除,修改
  7. Palindrome Number之Java实现
  8. Apache Flink 官方文档--流(DataStream API)-旁路输出
  9. 我的 Java 血泪史
  10. Tutorials 使用窗口功能分析信息