Dockerfile使用OracleJDK创建自定义tomcat8镜像

 

我们默认下载的tomcat镜像是用的openjdk ,但是我们有些项目必须使用oraclejdk 那就不能使用官方的tomcat镜像,只能重新自定义一个镜像

 

Dockerfile文件

FROM centos:7

#把java与tomcat添加到容器中
ADD jdk-8u161-linux-x64.tar.gz /usr/local/
ADD apache-tomcat-8.5.59.tar.gz /usr/local/
#安装 vim编辑器
RUN yum -y install vim

# 设置工作访问时候的WORKDIR路径, 登录落脚点
ENV MYPATH /usr/local/
WORKDIR $MYPATH

#配置java与tomcat环境变量
ENV JAVA_HOME /usr/local/jdk1.8.0_161
ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
ENV CATALINA_HOME /usr/local/apache-tomcat-8.5.59
ENV CATALINA_BASE /usr/local/apache-tomcat-8.5.59
ENV PATH $PATH:$JAVA_HOME/bin:$CATALINA_HOME/lib:$CATALINA_HOME/bin

#容器运行时监听的端口
EXPOSE 8080

# 启动时运行tomcat
# ENTRPOINT ["/usr/local/apache-tomcat-8.5.59/bin/startup.sh"]
# CMD ["/usr/local/apache-tomcat-8.5.59/bin/catalina.sh","run"]
CMD /usr/local/apache-tomcat-8.5.59/bin/startup.sh && tail -f /usr/local/apache-tomcat-8.5.59/logs/catalina.out

 

 

 

jdk-8u161-linux-x64.tar.gz  这是jdk1.8的压缩包
apache-tomcat-8.5.59.tar.gz 这是tomcat8的压缩包   下载地址:https://yvioo.lanzoui.com/i851wtevfqf

(使用ADD命令会自动解压)

这个可以根据自己的来 但是文件对应的名称也要改


配置完之后 当前目录执行

docker build -t mytomcat8 .

 

 

然后启动

docker run -itd -p 9090:8080 --name="mytomcat8" -v /data/tomcat8/webapps:/usr/local/apache-tomcat-8.5.59/webapps -v /data/tomcat8/logs:/usr/local/apache-tomcat-8.5.59/logs --privileged=true mytomcat8

 

 

然后把项目放到 

/data/tomcat8/webapps

 

然后访问9090端口




docker-compose.yml写法

version: '3'
services:
    tomcat8:
      build:
        context: ./tomcat8  #Dockerfile 所在目录
        dockerfile: Dockerfile
      image: tomcat8
      container_name: tomcat8
      ports:
      - 9090:8080
      network_mode: "host"
      restart: always
      privileged: true
      volumes:
      - /data/tomcat/webapps:/usr/local/tomcat/webapps
      - /data/tomcat/logs:/usr/local/tomcat/logs
      - /data/tomcat/conf:/usr/local/tomcat/conf

 

 



posted @ 2021-06-23 22:02  yvioo  阅读(462)  评论(1编辑  收藏  举报