Docker之Dockerfile自定义myTomcat

本文介绍如何使用Dockerfile从CentOS镜像开始,定制包含vim、net-tools并预装Java和Tomcat的myTomcat镜像,通过添加环境变量和配置启动脚本,实现快速部署。

Docker之Dockerfile自定义myTomcat

1、 自定义mycentos镜像,该镜像需要具备以下功能:

  • 修改登陆后的默认路径
  • vim编辑器可用
  • 支持查看网络配置的ifconfig
 #从docker仓库,拉取最新的精简版的centos镜像,默认的tag是latest
docker pull centos  #结果如下
docker.io/centos          latest              9f38484d220f        2 months ago        202 MB

#创建Dockerfile文件 ,写入以下指令,然后执行  docker build Dockerfile -t  mycentos:7.7 .
FROM centos
MAINTAINER   liaokl<xdn541@163.com>
ENV  MYPATH /usr/local
WORKDIR $MYPATH
RUN yum -y install vim
RUN yum -y install net-tools
EXPOSE 80
CMD /bin/bash

出现类似如下的结果,表示创建成功:
Complete!
 ---> fa114e5b7660
Removing intermediate container f9d40d278c80
Step 7/8 : EXPOSE 80
 ---> Running in ad01a870ed0b
 ---> a1ff2773e322
Removing intermediate container ad01a870ed0b
Step 8/8 : CMD /bin/bash
 ---> Running in 2bd77fb2346c
 ---> c6d05dd90995
Removing intermediate container 2bd77fb2346c
Successfully built c6d05dd90995

2、在我们自定义mycentos:7.7镜像的基础之上,再进行mytomcat镜像的创建

  • 准备一个tomcat的gz包,我这里下载的是 apache-tomcat-8.5.15.tar.gz 下载到 ~/docker/mytomcat/路径下(此路径自己定义,下同)
  • 准备一个jdk的gz包,我这里下载的是 jdk-8u131-linux-x64.tar.gz 下载到 ~/docker/mytomcat/路径下
  • 在第1、步我们创建的mycentos:7.7的镜像基础上继续创建mytomcat
#新建Dockerfile 文件,执行 docker build -t mytomcat:7.7 .
FROM mycentos:7.7
MAINTAINER liaokl<xdn541@163.com>
#把java和tomcat添加到容器中
ADD ./apache-tomcat-8.5.15.tar.gz  /usr/local
ADD ./jdk-8u131-linux-x64.tar.gz   /usr/local

ENV mypath /usr/local
WORKDIR $mypath

#将容器内tomcat的webapp目录挂载到宿主机内,方便发布和查看日志
VOLUME ~/docker/mytomcat/webapps /usr/local/apache-tomcat-8.5.15/webapps
VOLUME ~/docker/mytomcat/logs /usr/local/apache-tomcat-8.5.15/logs

#配置java和tomcat的环境变量
ENV JAVA_HOME /usr/local/jdk1.8.0_131
ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
ENV CATALINA_HOME /usr/local/apache-tomcat-8.5.15
ENV CATALINA_BASE /usr/local/apache-tomcat-8.5.15
ENV PATH $PATH:$JAVA_HOME/bin:$CATALINA_HOME/lib:$CATALINA_HOME/bin

EXPOSE 8081
CMD /user/local/apache-tomcat-8.5.15/bin/startup.sh  && tail -f /user/local/apache-tomcat-8.5.15/logs/catalina.out

出现类似如下的结果,表示创建成功:
 ---> 0cdb76c2cb11
Removing intermediate container 888875edb589
Step 12/15 : ENV CATALINA_BASE /usr/local/apache-tomcat-8.5.15
 ---> Running in 28c7b495123e
 ---> 5d8972eb423b
Removing intermediate container 28c7b495123e
Step 13/15 : ENV PATH $PATH:$JAVA_HOME/bin:$CATALINA_HOME/lib:$CATALINA_HOME/bin
 ---> Running in 6844ae6bd032
 ---> 18b81d626d05
Removing intermediate container 6844ae6bd032
Step 14/15 : EXPOSE 8081
 ---> Running in 83f65b202568
 ---> f65a07b31110
Removing intermediate container 83f65b202568
Step 15/15 : CMD /user/local/apache-tomcat-8.5.15/bin/startup.sh  && tail -f /user/local/apache-tomcat-8.5.15/logs/catalina.out
 ---> Running in b0b15d19ad31
 ---> adea4abb9fdf
Removing intermediate container b0b15d19ad31
Successfully built adea4abb9fdf


评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

永不止步——

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值