dockerfile用源码包构建tomcat服务

简介:

一、说明

centos基于docker官方镜像来制作的,用tomcat源码包生成的镜像,本环境中tomcat安装目录位于:/usr/local/,jdk安装目录位于:/usr/,如果你使用dockerfile buid此镜像,你要提前下载好jdk、tomcat源码包,在此文本中用的版本为apache-tomcat-8.0.24、jdk1.8.0_131,并且还配置了服务器的时间区,里面#号为注释掉的内容可以不用管它。


二、Dockerfile

FROM centos:latest


MAINTAINER ganbing87@126.com


ENV TIME_ZONE Asia/Shanghai

ENV JAVA_HOME /usr/jdk1.8.0_131/

ENV PATH $PATH:$JAVA_HOME/bin

ENV TOMCAT_HOME /usr/local/apache-tomcat-8.0.24/


COPY ./apache-tomcat-8.0.24.tar.gz /usr/src

COPY ./jdk-8u131-linux-x64.tar.gz /usr/src


RUN set -x \

        \

        && yum -y update \

        && tar zxf /usr/src/apache-tomcat-8.0.24.tar.gz -C /usr/local \

        && rm -rf /usr/src/apache-tomcat-8.0.24.tar.gz \

        && tar zxf /usr/src/jdk-8u131-linux-x64.tar.gz -C /usr \

        && rm -rf /usr/src/jdk-8u131-linux-x64.tar.gz \

        && echo "${TIME_ZONE}" > /etc/timezone \

        && ln -sf /usr/share/zoneinfo/${TIME_ZONE} /etc/localtime


COPY ./shutdown.sh /usr/local/apache-tomcat-8.0.24/bin

#ADD run.sh /run.sh

#RUN chmod +x /run.sh


ENTRYPOINT /usr/local/apache-tomcat-8.0.24/bin/startup.sh && tail -f /usr/local/apache-tomcat-8.0.24/logs/catalina.out

#CMD ["/run.sh"]

EXPOSE 8080

~              


三、附件(shutdown.sh)


#!/bin/bash

ps -ef |grep /usr/local/apache-tomcat-8.0.24 |grep -v grep |awk '{print $2}' |xargs kill -9



四、运行容器

1、环境:


centos7.2+tomcat8.0.24+jdk1.8.0


2、用dockerfile构建tomcat镜像

docker build -t tomcat:8.0.24 .


3、查看镜像是否构建成功

docker images


4、运行


docker run -d -p 8080:8080 tomcat:8.0.24 bash


    -d:后台启动,并生成容器id


    -p:映射主机的8080端口至tomcat容器的8080端口


5、测试:


用浏览器访问docker主机的IP地址,要注意不是容器的IP地址,比如主机IP为172.16.0.1,http://172.16.0.1:8080



本文转自甘兵 51CTO博客,原文链接:http://blog.51cto.com/ganbing/2049279,如需转载请自行联系原作者

相关文章
|
3月前
|
Arthas 监控 Java
Arthas 可以用于监控和诊断在 Windows 系统下部署的 Tomcat 服务
Arthas 可以用于监控和诊断在 Windows 系统下部署的 Tomcat 服务
177 2
|
4月前
|
应用服务中间件
今日分享记录:WIN10中如何将tomcat注册到Server服务中
今日分享记录:WIN10中如何将tomcat注册到Server服务中
51 1
|
3月前
|
前端开发 Java 应用服务中间件
架构篇:Tomcat 高层组件构建一个商业帝国
架构篇:Tomcat 高层组件构建一个商业帝国
296 6
|
3月前
|
监控 Java 应用服务中间件
【Linux】Web服务之Tomcat服务
【Linux】Web服务之Tomcat服务
37 0
|
4月前
原生表格纵向滚动条
原生表格纵向滚动条
|
6月前
|
应用服务中间件 Linux Windows
一台tomcat如何部署多个端口不同的服务?
复制tomcat下webapps文件夹为webapps1 , webapps2 (文件名称无要求 , 需要部署N个项目就复制N-1个文件夹 , 比如部署三个项目 , 再复制两个webapps就行 , 以此类推)
76 0
|
8月前
|
域名解析 运维 负载均衡
【运维知识进阶篇】Tomcat集群实战之部署zrlog博客(Tomcat服务安装+静态资源挂载NFS+Nginx负载均衡+HTTPS证书+Redis会话保持)
【运维知识进阶篇】Tomcat集群实战之部署zrlog博客(Tomcat服务安装+静态资源挂载NFS+Nginx负载均衡+HTTPS证书+Redis会话保持)
254 1
|
8月前
|
应用服务中间件 Apache Windows
Apache Tomcat 9.0 Tomcat9服务无法启动,提示“Windows无法启动Apache Tomcat……错误1067:进程意外终止
Apache Tomcat 9.0 Tomcat9服务无法启动,提示“Windows无法启动Apache Tomcat……错误1067:进程意外终止
444 0
Apache Tomcat 9.0 Tomcat9服务无法启动,提示“Windows无法启动Apache Tomcat……错误1067:进程意外终止
|
8月前
|
运维 Java 应用服务中间件
Linux启动tomcat命令行关闭后服务会停止
Linux启动tomcat命令行关闭后服务会停止
93 0