怎样让Docker运行tomcat呢,一般有两种做法:
1 制作一个基础镜像,然后启动一个容器,在该容器中手动安装JDK和tomcat,然后commit该容器,以后就以commit的容器作为运行tomcat的基础镜像
1 利用基础镜像启动一个容器
docker run -t -i -n tomcat_base ubuntu /bin/bash
2 在容器内部安装相关软件
echo "deb http://dk.archive.ubuntu.com/ubuntu/ precise-security main universe" >> /etc/apt/sources.list
apt-get install python-software-properties
add-apt-repository ppa:webupd8team/java
apt-get update
apt-get install oracle-java7-installer tomcat7 vim
vim /etc/default/tomcat7
# now ensure JAVA_HOME=/usr/lib/jvm/java-7-oracle
service tomcat7 start
3 commit该容器
docker commit tomcat7 tomcat_base
4 运行一个tomcat容器
docker run -i -t -p 8080 tomcat /bin/bash
service tomcat7 start
2 直接利用Dockfile制作一个包含JDK和Tomcat的基础镜像,然后以此镜像作为tomcat的基础镜像
1 Dockfile文件
#REDIS_SERVER
#VERSIUON 1.0
FROM ubuntu/14.04
MAINTAINER guol
#Update Ubuntu
RUN apt-get update
#Add oracle java 7 repository
RUN apt-get -y install software-properties-common
RUN add-apt-repository ppa:webupd8team/java
RUN apt-get -y update
#Accept the Oracle Java license
RUN echo "oracle-java7-installer shared/accepted-oracle-license-v1-1 boolean true" | debconf-set-selections
#Install Oracle Java
RUN apt-get -y install oracle-java7-installer
#Install tomcat
RUN apt-get -y install tomcat7
RUN echo "JAVA_HOME=/usr/lib/jvm/java-7-oracle" >> /etc/default/tomcat7
EXPOSE 8080
CMD service tomcat7 start
CMD tail -f /var/lib/tomcat7/logs/catalina.out
2 build tomcat7容器
docker build -t tomcat7 .
3 启动一个tomcat容器
docker run -p 8080:8080 -d tomcat7
4 通过CURL访问