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

前面我写了一篇《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/目录下,并命名为jdkADD jdk1.8.0_171 /usr/local/jdk#将apache-tomcat-8.5.31添加到镜像centos的/usr/local/目录下,并命名为tomcatADD apache-tomcat-8.5.75 /usr/local/tomcat#修改文件的执行权限RUN chmod -R 777 /usr/local/tomcat#添加环境变量ENV JAVA_HOME /usr/local/jdkENV CATALINA_HOME /usr/local/tomcatENV PATH $PATH:$JAVA_HOME/bin:$CATALINA_HOME/bin#暴露8080端口EXPOSE 8080#启动时运行tomcatCMD ["/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

发表评论
留言与评论(共有 0 条评论) “”
   
验证码:

相关文章

推荐文章