docker自定义tomcat

环境

  • docker
  • centos7

安装材料

  • apache-tomcat-9.0.34.tar.gz
  • jdk-8u241-linux-x64.tar.gz
  • docker 中 pull centos官方镜像

宿主机文件准备工作

mkdir -p ${currentuser}/tomcat #在当前用户目录下新建一个目录用于存放tomcat、jdk和dockerfile,该目录不能为"/",否则docker build时读取的上下文会从“/”向上递归,导致上下文庞大
cp apache-tomcat-9.0.34.tar.gz ${currentuser}/tomcat
cp jdk-8u241-linux-x64.tar.gz ${currentuser}/tomcat #这两步复制安装文件至tomcat目录下

编写Dockerfile

#到tomcat目录下
vim Dockerfile



#Dockerfile文件内容如下
FROM centos
MAINTAINER liuxxx<11411858xx@qq.com> #可不写
ADD jdk-8u241-linux-x64.tar.gz /usr/local
ADD apache-tomcat-8.5.54.tar.gz /usr/local
RUN yum -y install vim
ENV MYPATH /usr/local
WORKDIR MYPATH #指定镜像启动后的工作目录
ENV JAVA_HOME /usr/local/jdk1.8.0_241
ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
ENV CATALINA_HOME /usr/local/apache-tomcat-8.5.54
ENV CATALINA_BASE /usr/local/apache-tomcat-8.5.54
ENV PATH $PATH:$JAVA_HOME/bin:$CATALINA_HOME/lib:$CATALINA_HOME/bin
EXPOSE 8080 # 暴露8080端口
#注意log的输出目录,网上很多博客指向的${tomcathome}/bin/logs/catalina.out,此路径并不存在
CMD /usr/local/apache-tomcat-8.5.54/bin/startup.sh && tail -F /usr/local/apache-tomcat-8.5.54/logs/catalina.out

#build 镜像,在tomcat目录下,注意有个“.”,表示使用当前目录作为上下文
#没有指明Dockerfile是因为build会自动检测当前目录下名为Dockerfile的文件并使用它
docker build -t mytomcat .
#可以通过-f 指定具体的Dockerfile,也可以指定具体tag号,否则默认为latest
#docker build -f /home/ls/tomcat/Dockerfile2 -t mytomcat:1.0 .

启动镜像

# 指定端口映射,指定容器卷,挂载自己的应用到container中运行
docker run -it -p 8080:8080 -v /home/ls/mywebapps/spring.war:/usr/local/apache-tomcat-8.5.54 mytomcat

启动效果

访问界面

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值