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 [email protected]

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

时间: 2024-11-09 04:38:01

dockerfile用源码包构建tomcat服务的相关文章

从源码包构建.deb文件的备忘

源码包是什么 我们知道ubuntu有别于gentoo之一的特点就是,gentoo是基于源码包安装的系统,而ubuntu是基于二进制的.我们执行一个apt-get install foo安装包命令时,apt从对应的apt source源地址下载一个二进制包-以.deb为后缀名的文件到/var/cache/apt/archives下,再用dpkg工具安装它们.这些.deb文件都是包的维护者在某台build machine上build之后放上去的,而与foo.deb对应的源码包,一般都是指三个文件的一

dockerfile用源码包搭建nginx服务器

一.Dockerfile内容如下 FROM centos:latest MAINTAINER [email protected] ENV TIME_ZONE Asia/Shanghai COPY ./nginx-1.9.3.tar.gz /usr/src #RUN set -x \ #? ? ? ? \ #&& yum -y update \ #&& yum -y install gcc make pcre zlib zlib-devel openssl-devel \ #

Linux服务篇之十二:源码包构建LAMP服务器

实验环境:Apache服务器一台.Mysql服务器一台.PHP服务器一台 步骤一:安装Apache服务器 1.安装apr yum install gcc-c++ -y yum -y install epel-release tar zxf apr-1.5.2.tar.gz cd apr-1.5.2 ./configure --prefix=/usr/local/apr;echo $? make && make install;echo $? cd .. 2.安装apr-util yum -

将源码包编译的服务加入系统服务使用service控制启动关闭

1.[[email protected]~]#cp /user/local/apache2/bin/apachectl  /etc/init.d/httpd 2.[[email protected]~]#vim /etc/init.d/httpd     行首加入如下配置:   #!/bin/sh   #chkconfig: 2345 85 15           2345表示2345四个启动级别里面加载这个服务,85表示启动(开机时)顺     序号,15表示关闭(关机时)顺序号     

[Linux]服务管理:rpm包, 源码包

--------------------------------------------------------------------------------------------------- |--- 1. 独立的服务  |---- rpm包默认安装的服务 |--- 2. 基于xinetd服务 linux服务分类: | |---- 源码包安装的服务 查询已安装的服务: rpm包安装的服务:chkconfig --list( 查看服务自启动状态,可以看到所有rpm包安装的服务 ) ( 7个

第5章 软件包管理(2)_源码包安装和脚本安装

3 源码包管理 3.1 源码包和RPM包的区别 (1)区别:①安装之前的区别:概念上的区别:②安装之后:安装位置不同 (2)RPM包的默认安装位置 RPM包默认安装路径 /etc 配置文件安装目录 /usr/bin 可执行的命令安装目录 /usr/lib 程序所使用的函数库保存位置 /usr/share/doc 基本软件使用手册保存位置 /usr/share/man 帮助文件保存位置 (3)源码包安装位置:安装在指定位置中,一般是/usr/local/软件名/ (4)安装位置不同带来的影响 ①R

Linux中RPM包与源码包区别

1.区别 安装之前的区别:概念上的区别 安装之后的区别:安装位置不同 2.RPM包安装位置 安装在默认位置中 RPM默认安装位置 /etc/ 配置文件安装目录 /usr/bin/ 可执行的命令安装目录 /usr/lib/ 程序所使用的函数库安装目录 /usr/share/doc 基本的软件使用手册保存目录 /usr/share/man 帮助文件保存位置 3.源码包安装位置 安装在指定位置当中,一般是 /usr/local/软件名/ 4.安装位置不同带来的影响 RPM包安装的服务可以使用系统服务管

linux源码包管理 源码包安装

一.源码包和RPM包的区别 1.安装位置不同 RPM包默认安装路径 /etc/ 配置文件安装兖 /usr/bin/ 可执行命令安装目录 /usr/lib/ 程序所使用的函数库保存位置 /usr/share/doc/ 基本的软件使用手册保存位置 /usr/share/man/ 帮助文件保存位置 note:可以通过 rpm -q -l package-name 命令 查看软件包安装位置 源码包安装位置: 一般是/usr/local/软件名/ RPM包安装的服务可以通过 系统服务管理命令(servic

Linux下的两种服务:RPM包默认安装的服务和源码包安装的服务

有些软件安装到电脑上后就会有一个或多个服务出现在系统服务管理里面,比如Apache,VMware软件等就会出现在计算机服务里面,可以随系统的启动而启动,当然也可以设置不启动,等要用了的时候再去启动,(可以在运行里面输入services.msc直接打开服务列表),但是有些软件安装到电脑后不会有什么服务生成,比如我们的聊天工具QQ. Linux下有两种服务,一种是RPM包默认安装的服务,一种是源码包安装的服务. RPM默认安装的服务在/etc/rc.d/init.d/文件下,执行service sm