基于Ubuntu 14.04构建tomcat7镜像

1、创建Dockerfile文件

# Pull base image
FROM ubuntu:14.04  

MAINTAINER shencq "[email protected]"  

# update source
RUN echo "deb http://archive.ubuntu.com/ubuntu trusty main universe"> /etc/apt/sources.list
RUN apt-get update  

# Install curl
RUN apt-get -y install curl  

# Install JDK 7
RUN cd /tmp &&  curl -L ‘http://download.oracle.com/otn-pub/java/jdk/7u65-b17/jdk-7u65-linux-x64.tar.gz‘ -H ‘Cookie: oraclelicense=accept-securebackup-cookie; gpw_e24=Dockerfile‘ | tar -xz
RUN mkdir -p /usr/lib/jvm
RUN mv /tmp/jdk1.7.0_65/ /usr/lib/jvm/java-7-oracle/  

# Set Oracle JDK 7 as default Java
RUN update-alternatives --install /usr/bin/java java /usr/lib/jvm/java-7-oracle/bin/java 300
RUN update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/java-7-oracle/bin/javac 300     

ENV JAVA_HOME /usr/lib/jvm/java-7-oracle/  

# Install tomcat7
RUN cd /tmp && curl -L ‘http://archive.apache.org/dist/tomcat/tomcat-7/v7.0.8/bin/apache-tomcat-7.0.8.tar.gz‘ | tar -xz
RUN mv /tmp/apache-tomcat-7.0.8/ /opt/tomcat7/  

ENV CATALINA_HOME /opt/tomcat7
ENV PATH $PATH:$CATALINA_HOME/bin  

ADD tomcat7.sh /etc/init.d/tomcat7
RUN chmod 755 /etc/init.d/tomcat7  

# Expose ports.
EXPOSE 8080  

# Define default command.
ENTRYPOINT service tomcat7 start && tail -f /opt/tomcat7/logs/catalina.out 

2、创建tomcat7.sh文件

export JAVA_HOME=/usr/lib/jvm/java-7-oracle/
export JAVA_OPTS="-Dfile.encoding=UTF-8 \
-Dcatalina.logbase=/var/log/tomcatProd -Dnet.sf.ehcache.skipUpdateCheck=true -XX:+UseConcMarkSweepGC -XX:+CMSClassUnloadingEnabled -XX:+UseParNewGC -XX:MaxPermSize=128m -Xms512m -Xmx512m"
export PATH=$JAVA_HOME/bin:$PATH
TOMCAT_HOME=/opt/tomcat7
SHUTDOWN_WAIT=20
export CATALINA_OPTS="-Xmx512m"

export CATALINA_BASE=/opt/tomcat7

tomcat_pid() {
  echo `ps aux | grep org.apache.catalina.startup.Bootstrap | grep $CATALINA_BASE | grep -v grep | awk ‘{ print $2 }‘`
}
start() {
  pid=$(tomcat_pid)
  if [ -n "$pid" ]
  then
echo "Tomcat is already running (pid: $pid)"
  else
    # Start tomcat
    echo "Starting tomcat"
    #ulimit -n 100000
    umask 007
    $TOMCAT_HOME/bin/startup.sh
  fi
return 0
}

stop() {
  pid=$(tomcat_pid)
  if [ -n "$pid" ]
  then
echo "Stoping Tomcat"
    if [ "$USER" == "$TOMCAT_USER" ]
    then
         $TOMCAT_HOME/bin/shutdown.sh
    else
        /bin/su -p -s /bin/sh $TOMCAT_USER $TOMCAT_HOME/bin/shutdown.sh
    fi

    let kwait=$SHUTDOWN_WAIT
    count=0;
    until [ `ps -p $pid | grep -c $pid` = ‘0‘ ] || [ $count -gt $kwait ]
    do
echo -n -e "\nwaiting for processes to exit";
      sleep 1
      let count=$count+1;
    done

if [ $count -gt $kwait ]; then
echo -n -e "\nkilling processes which didn‘t stop after $SHUTDOWN_WAIT seconds"
      kill -9 $pid
    fi
else
echo "Tomcat is not running"
  fi
return 0
}

case $1 in
start)
  start
;;
stop)
  stop
;;
restart)
  stop
  start
;;
status)
  pid=$(tomcat_pid)
  if [ -n "$pid" ]
  then
echo "Tomcat is running with pid: $pid"
  else
echo "Tomcat is not running"
  fi
;;
esac
exit 0

3、构建镜像

docker build -t shencq/tomcat7 . 

4、运行镜像

docker run -d -p 8090:8080 shencq/tomcat7

5、访问tomcat

  默认情况下,tomcat会占用8080端口,刚才在启动container的时候,指定了 -p 8090:8080,映射到宿主机端口就是8090。

http://<host>:8090 #host为主机IP
时间: 2024-10-24 22:49:02

基于Ubuntu 14.04构建tomcat7镜像的相关文章

【转】基于Ubuntu 14.04 LTS编译Android4.4.2源代码

原文网址:http://blog.csdn.net/gobitan/article/details/24367439 基于Ubuntu 14.04 LTS编译Android4.4.2源代码 Dennis Hu 2014-4-21 环境准备: 基本环境:ubuntu-14.04-desktop-64bit LTS(裸机或者Windows下虚拟机安装均可,12.04也可以,但10.04目前不支持了) 其他要求:空闲磁盘空间100G以上,代码部分接近10G,其他为git和编译中间和目标文件准备 ===

基于Ubuntu 14.04 LTS编译Android4.4.2源代码

转载自:雨水:http://blog.csdn.net/gobitan/article/details/24367439 基于Ubuntu 14.04 LTS编译Android4.4.2源代码 Dennis Hu 2014-4-21 环境准备: 基本环境:ubuntu-14.04-desktop-64bit LTS(裸机或者Windows下虚拟机安装均可,12.04也可以,但10.04目前不支持了) 其他要求:空闲磁盘空间100G以上,代码部分接近10G,其他为git和编译中间和目标文件准备 =

Windows 7下硬盘安装Ubuntu 14.04图文教程

Ubuntu 官方已经发布了正式版的 Ubuntu 14.04 LTS,并宣称这是为云计算准备的版本.该版本在云平台和伸缩环境的可靠性.性能和交互性都有很好的提升,同时提供 5 年的支持和维护服务. 下面为Linux新手讲解下在Windows 7下使用EasyBCD硬盘安装Ubuntu 14.04图文详细教程,每到Ubuntu新版发布的时候,LinuxIDC.com都会推出Windows下硬盘安装Ubuntu的相关教程,只为刚学习的Linux的网友提供一点帮助. 相关阅读:Ubuntu 14.0

【转】Windows 7下硬盘安装Ubuntu 14.04图文教程--不错

原文网址:http://www.linuxidc.com/Linux/2014-04/100369p3.htm Ubuntu 官方已经发布了正式版的 Ubuntu 14.04 LTS,并宣称这是为云计算准备的版本.该版本在云平台和伸缩环境的可靠性.性能和交互性都有很好的提升,同时提供 5 年的支持和维护服务. 下面为Linux新手讲解下在Windows 7下使用EasyBCD硬盘安装Ubuntu 14.04图文详细教程,每到Ubuntu新版发布的时候,LinuxIDC.com都会推出Window

在 Ubuntu 14.04 中配置 PXE 服务器

PXE(预启动执行环境Preboot Execution Environment)服务器允许用户从网络中启动 Linux 发行版并且可以不需要 Linux ISO 镜像就能同时在数百台 PC 中安装.如果你客户端的计算机没有 CD/DVD 或USB 引导盘,或者如果你想在大型企业中同时安装多台计算机,那么 PXE 服务器可以帮你节省时间和金钱. 在这篇文章中,我们将告诉你如何在 Ubuntu 14.04 配置 PXE 服务器. 配置网络 开始前,你需要先设置 PXE 服务器使用静态 IP.在你的

分布式进阶(一)Windows 7下硬盘安装Ubuntu 14.04图文教程

Windows 7下硬盘安装Ubuntu 14.04图文教程 本人下载的是ubuntu-14.04.2-desktop-amd64.iso,经本人亲自测试的,折腾了一天的时间. 1)首先还是分区,在计算机上右键--管理--磁盘管理(也可以先格式化,后面再分区) 装Ubuntu分配的硬盘大小最好是(20G以上)不要太小.这里请注意,Ubuntu和Windows文件系统完全不同,所以我们划好要给Ubuntu的分区后,删除卷. 到时候,安装好的ubuntu的分区,在Windows下是看不到的,但是进入

64位双系统Ubuntu 14.04 LTS + Caffe + CUDA 7.5 + Opencv 3.0 安装配置实战

一切的一切,开端便是这caffe,作为博客的第一篇文章,自然要讲讲一个哲学问题"我是从哪来的" 一.windows情况下安装双系统64位Ubuntu 本段落根据http://www.linuxidc.com/Linux/2014-04/100369p2.htm而成. 下面开始: 1)首先还是分区,在计算机上右键--管理--磁盘管理 装Ubuntu分配的硬盘大小最好是(20G以上)不要太小,配好整个环境就要消耗10G左右,再加上数据集和各种库,空间太小非常尴尬.这里请注意,Ubuntu和

Windows 7中的VirtualBox中的Ubuntu 14.04中基于Docker安装Hadoop

1. 在VirtualBox中安装Ubuntu 14.04 2. 在Ubuntu 14.04中安装Docker 3. 安装基于Docker的Hadoop 下载image docker pull sequenceiq/hadoop-docker:2.6.0   运行container docker run -i -t sequenceiq/hadoop-docker:2.6.0 /etc/bootstrap.sh –bash   测试Hadoop(将ubuntu的内存调到2G,即2048MB,否则

aliyun Ubuntu 14.04 64bit OpenJDK Tomcat7 install

my work environment: aliyun Ubuntu 14.04 64位 first phase:apt-get update    (it is very important,otherwise will cause 404 error) second phase:installation referenced by other website information: install Openjdk [email protected]:~$ sudo apt-get -y i