2、使用dockerfile制作tomcat镜像,并实现对jsp测试页访问

基于官方提供的 centos 7.8.2003 基础镜像构建 JDK 和 tomcat 镜像,先构建JDK 镜像,然后再基于 JDK 镜像构建 tomcat 镜像。
执行构建 JDK 镜像

[root@docker-server1 ~]# mkdir 
/opt/dockerfile/{web/{nginx,tomcat,jdk,apache},system/{centos,ubuntu,redhat}} -
pv
[root@docker-server1 ~]# cd /opt/dockerfile/web/jdk/
[root@docker-server1 jdk]# vim Dockerfile
#JDK Base Image
FROM centos-7.5-base:latest
MAINTAINER zhangshijie "zhangshijie@300.cn"
ADD jdk-8u162-linux-x64.tar.gz /usr/local/src/
RUN ln -sv /usr/local/src/jdk1.8.0_162 /usr/local/jdk
ADD profile /etc/profile
ENV JAVA_HOME /usr/local/jdk
ENV JRE_HOME $JAVA_HOME/jre
ENV CLASSPATH $JAVA_HOME/lib/:$JRE_HOME/lib/
ENV PATH $PATH:$JAVA_HOME/bin
RUN rm -rf /etc/localtime && ln -snf /usr/share/zoneinfo/Asia/Shanghai 
/etc/localtime && echo "Asia/Shanghai" > /etc/timezone

上传 JDK 压缩包和 profile 文件
将 JDK 压缩包上传到 Dockerfile 当前目录,然后执行构建
docker build -t centos-7.5-jdk:v1 .

从镜像启动容器
docker run -it jack/ceontos-jdk bash

从 JDK 镜像构建 tomcat 8 Base 镜像
编辑 Dockerfile

#Tomcat Base Image
FROM centos-7.5-jdk:v1
RUN useradd www -u 2000
#ADD del_tomcatlog.sh /root/script
#RUN echo "0 2 * * * /bin/bash /root/script/del_tomcatlog.sh &> /dev/null" >> 
/var/spool/cron/root
#env settinf
ENV TZ "Asia/Shanghai"
ENV LANG en_US.UTF-8
ENV TERM xterm
ENV TOMCAT_MAJOR_VERSION 8
ENV TOMCAT_MINOR_VERSION 8.0.49
ENV CATALINA_HOME /apps/tomcat
ENV APP_DIR ${CATALINA_HOME}/webapps
#tomcat settinf
RUN mkdir /apps 
ADD apache-tomcat-8.0.49.tar.gz /apps 
RUN ln -sv /apps/apache-tomcat-8.0.49 /apps/tomcat

上传 tomcat 压缩包
通过脚本构建 tomcat 基础镜像
docker build -t tomcat-base:v1 .

构建业务镜像

#Tomcat Web Image
FROM tomcat-base:v1 
ADD run_tomcat.sh /apps/tomcat/bin/run_tomcat.sh
ADD myapp/* /apps/tomcat/webapps/myapp/
RUN chown www.www /apps/ -R
CMD ["/apps/tomcat/bin/run_tomcat.sh"]
EXPOSE 8080 8009

准备容器启动执行脚本

#!/bin/bash
echo "1.1.1.1 abc.test.com" >> /etc/hosts
echo "nameserver 223.5.5.5" > /etc/resolv.conf
su - www -c "/apps/tomcat/bin/catalina.sh start"
su - www -c "tail -f /etc/hosts"

构建
docker build -t tomcat-web:app1 .

从镜像启动容器测试
docker run -it -d -p 8888:8080 tomcatweb:app1

访问测试
http://ip/myapp

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容