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
-----------------------有任何问题可以在评论区评论,也可以私信我,我看到的话会进行回复,欢迎大家指教------------------------
(蓝奏云官网有些地址失效了,需要把请求地址lanzous改成lanzoux才可以)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
2020-06-23 JAVA获取昨天、今天、明天等日期
2020-06-23 IDEA设置调用方法时提示方法上的注释
2020-06-23 Hibernate使用distinct返回不重复的数据,使用group by 进行分组