2017年1月4日星期三

Docker_016:手工制作 RHEL 7.2 + JDK 7 + Tomcat 7 镜像

环境:MAC OS X 10.12.2 + Docker 1.12.5

0. 创建工作目录
mkdir HQDS
cd HQDS

1. 下载 RHEL 7.2 基础镜像
docker pull registry.access.redhat.com/rhel7.2

2. 下载 JDK 7
介质 jdk-7u60-linux-x64.tar.gz
tar -zxvf jdk-7u60-linux-x64.tar.gz 

3. 下载 Tomcat 7
介质 apache-tomcat-7.0.40.tar.gz
tar -zxvf apache-tomcat-7.0.40.tar.gz

4. vim Dockerfile
# 使用基础镜像
FROM registry.access.redhat.com/rhel7.2

# 指定镜像创建者信息
MAINTAINER Ma Ping pma@redhat.com

# 切换镜像的目录,进入 /usr 目录
WORKDIR /usr

# 在 /usr 下创建java目录,用来存放 jdk
RUN mkdir java

# 切换镜像的目录至 /usr/java
WORKDIR /usr/java

# 在 /usr/java 下创建 jdk 目录,用来存放 jdk 文件
RUN mkdir jdk

# 切换镜像的目录至 /usr/java/jdk
WORKDIR /usr/java/jdk

# 将宿主机的 jdk 目录下的全部文件考入至镜像的 /usr/java/jdk 目录下
ADD jdk /usr/java/jdk

# 切换镜像的目录至 /opt
WORKDIR /opt

# 在 /opt 下创建 tomcat 目录,用来存放 tomcat 文件
RUN mkdir tomcat

# 将宿主机的 tomcat 目录下的全部文件考入至镜像的 /opt/tomcat 目录下
ADD tomcat /opt/tomcat

# 创建 /home/vcap/app/logs1 目录
RUN mkdir -p /home/vcap/app/logs1

# 将宿主机的 example.war 目录下的全部文件考入至镜像的 /opt/tomcat/webapps/ 目录下
COPY example.war /opt/tomcat/webapps/

# 暴露 8080 端口
EXPOSE 8080

# 设置环境变量
ENV JAVA_HOME=/usr/java/jdk
ENV JAVA_BIN=/usr/java/jdk/bin
ENV PATH=$PATH:$JAVA_HOME/bin
ENV CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

# 设置容器启动时执行的操作
CMD /opt/tomcat/bin/catalina.sh run

5. 构建镜像
docker build -t rhel7_jdk7_tomcat7_hqds:latest .

6. 运行容器
docker run -d -p 5050:8080 rhel7_jdk7_tomcat7_hqds:latest

7. 访问 
http://localhost:5050/example/index.jsp
http://localhost:5050/

没有评论: