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