网站首页 > 博客文章 正文
前面我写了一篇《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
猜你喜欢
- 2024-09-23 docker部署linux web运行环境笔记
- 2024-09-23 不可错过的Docker完整笔记(dockerhib)
- 2024-09-23 docker中执行指定脚本(docker 下运行springboot应用)
- 2024-09-23 Java项目要不要部署在Docker里?(java部署工具)
- 2024-09-23 Java Dockerfile 最佳实践分享(java docker部署)
- 2024-09-23 「这些都不知道你就是个弟弟」Docker常用命令
- 2024-09-23 Spring Cloud 第十一篇:docker部署spring cloud项目
- 2024-09-23 用 Docker、Gradle 来构建、运行、发布一个 Spring Boot 应用
- 2024-09-23 功能问题:如何用Docker部署一个后端项目?
- 2024-09-23 Docker系列三部署Tomcat(docker部署tomcat项目)
你 发表评论:
欢迎- 最近发表
-
- 给3D Slicer添加Python第三方插件库
- Python自动化——pytest常用插件详解
- Pycharm下安装MicroPython Tools插件(ESP32开发板)
- IntelliJ IDEA 2025.1.3 发布(idea 2020)
- IDEA+Continue插件+DeepSeek:开发者效率飙升的「三体组合」!
- Cursor:提升Python开发效率的必备IDE及插件安装指南
- 日本旅行时想借厕所、买香烟怎么办?便利商店里能解决大问题!
- 11天!日本史上最长黄金周来了!旅游万金句总结!
- 北川景子&DAIGO缘定1.11 召开记者会宣布结婚
- PIKO‘PPAP’ 洗脑歌登上美国告示牌
- 标签列表
-
- ifneq (61)
- messagesource (56)
- aspose.pdf破解版 (56)
- promise.race (63)
- 2019cad序列号和密钥激活码 (62)
- window.performance (66)
- qt删除文件夹 (72)
- mysqlcaching_sha2_password (64)
- ubuntu升级gcc (58)
- nacos启动失败 (64)
- ssh-add (70)
- jwt漏洞 (58)
- macos14下载 (58)
- yarnnode (62)
- abstractqueuedsynchronizer (64)
- source~/.bashrc没有那个文件或目录 (65)
- springboot整合activiti工作流 (70)
- jmeter插件下载 (61)
- 抓包分析 (60)
- idea创建mavenweb项目 (65)
- vue回到顶部 (57)
- qcombobox样式表 (68)
- vue数组concat (56)
- tomcatundertow (58)
- pastemac (61)
本文暂时没有评论,来添加一个吧(●'◡'●)