专业的编程技术博客社区

网站首页 > 博客文章 正文

docker-compose安装tomcat——指定tomcat和jdk版本

baijin 2024-09-23 03:50:38 博客文章 5 ℃ 0 评论

前面我写了一篇《docker-compose安装tomcat》的文章,基本上可以满足需求,安装也简单,但是前面的方法安装的tomcat由于jdk没有指定,默认使用的是openjdk,openjdk与标准的oracle的jdk的区别就是少了些不常见的api,如果项目使用到了这些api,openjdk没有这些api就会报错!

为了使docker的jdk与我们使用的jdk相同,我们必须外部指定jdk的版本方式安装容器了!


1 准备好jdk,tomcat

创建好目录 conf docker-compose.yml logs webapps

解压tomcat,将对于文件拷贝到conf logs webapps中

2 编写Dockerfile

#指定操作的镜像
FROM centos:7

# 维护者信息
MAINTAINER xxxxxyyyy

#执行命令:创建目录
RUN mkdir -p /usr/local/jdk
#将jdk1.8.0_171添加到镜像centos的/usr/local/目录下,并命名为jdk
ADD jdk1.8.0_171 /usr/local/jdk
#将apache-tomcat-8.5.31添加到镜像centos的/usr/local/目录下,并命名为tomcat
ADD apache-tomcat-8.5.75 /usr/local/tomcat
#修改文件的执行权限
RUN chmod -R 777 /usr/local/tomcat
#添加环境变量
ENV JAVA_HOME /usr/local/jdk
ENV CATALINA_HOME /usr/local/tomcat
ENV PATH $PATH:$JAVA_HOME/bin:$CATALINA_HOME/bin

#暴露8080端口
EXPOSE 8080

#启动时运行tomcat
CMD ["/usr/local/tomcat/bin/catalina.sh","run"]

3 编写docker-compose

version: '3'
services:
  tomcat:
 #   restart: always
    build:
      context: ./
      dockerfile: Dockerfile
    container_name: tomcat8
    logging:
      #driver: "json-file"
      driver: "gelf"
      options:
        #max-size: "80m"
        #max-file: "9"
        gelf-address: "udp://172.16.11.15:12201"
        tag: "log4j-mvc"
    environment:
      TZ: Asia/Shanghai
      JAVA_OPTS: -Xms1024m -Xmx4096m  -XX:+UnlockCommercialFeatures -XX:+FlightRecorder
    volumes:
      - ./conf:/usr/local/tomcat/conf
      - ./logs:/usr/local/tomcat/logs
      - ./webapps:/usr/local/tomcat/webapps
   #   - ./lib:/usr/local/tomcat/lib
      - ./webapps:/usr/local/tomcat/webapps
      - ./logs:/logs

    ports:
      - 8080:8080
    expose:
      - 8080


目录结构为




4 启动容器

docker-compose -f docker-compose.yml up -d

访问 curl localhost:8080

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表