前面我写了一篇《docker-compose安装tomcat》的文章,基本上可以满足需求,安装也简单,但是前面的方法安装的tomcat由于jdk没有指定,默认使用的是openjdk,openjdk与标准的oracle的jdk的区别就是少了些不常见的api,如果项目使用到了这些api,openjdk没有这些api就会报错!
为了使docker的jdk与我们使用的jdk相同,我们必须外部指定jdk的版本方式安装容器了!
创建好目录 conf docker-compose.yml logs webapps
解压tomcat,将对于文件拷贝到conf logs webapps中
#指定操作的镜像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"]
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
目录结构为
docker-compose -f docker-compose.yml up -d
访问 curl localhost:8080
留言与评论(共有 0 条评论) “” |