制作Tomcat的Dockerfile

接下来将编写一个Tomcat的Dockerfile文件,以此构建一个Docker镜像,并基于该镜像启动得到一个Tomcat容器,最后试着在该容器中部署一个测试项目

思路:

  • 基于centos镜像,配置一个jdk环境和tomcat环境,并进行环境变量的配置

1 jdk和tomcat下载

自行到网上下载jdk和tomcat的安装包,并上传到自己的服务器的任意目录下,如下图,我这里放在了/opt/web_app/docker_test目录下:
在这里插入图片描述

2 编写Dockerfile文件

在jdk和tomcat的安装包的同级目录也就是/opt/web_app/docker_test目录下,编写Dockerfile文件。

注:编写的Dockerfile文件的命名,最好就叫做Dockerfile,官方推荐的命名方式就是Dockerfile,这么命名,那么在使用docker build构建的时候,就会自动去寻找这个文件,而不需要使用-f去指定了文件!

Dockerfile文件的内容如下:

FROM centos

#声明镜像是谁写的
MAINTAINER suhaha<suhaha@sinoiov.com>

#从本地将jdk和tomcat的压缩包,复制到容器的/usr/local目录下去,并自动解压
ADD jdk-8u181-linux-x64.tar.gz /usr/local
ADD apache-tomcat-9.0.54.tar.gz /usr/local

#声明工作目录,并通过WORKDIR命令,切换到工作目录
ENV MYPATH /usr/local
WORKDIR $MYPATH

#环境变量设置,最终将java和tomcat都配置到PATH中
ENV JAVA_HOME /usr/local/jdk1.8.0_181
ENV CLASSPATH $JAVA_HOME/lib/dt.jar:#JAVA_HOME/lib/tools.jar
ENV CATALINA_HOME /usr/local/apache-tomcat-9.0.54
ENV CATALINA_BASE /usr/local/apache-tomcat-9.0.54
ENV PATH $PATH:$JAVA_HOME/bin:$CATALINA_HOME/lib:$CATALINA_HOME/bin

#使用RUN命令,通过yum安装一些日常的常用工具
RUN yum -y install vim
RUN yum -y install net-tools

#对外暴露8080端口
EXPOSE 8080

#执行tomcat的启动命令,并通过tail -f命令,持续跟踪日志输出
CMD /usr/local/apache-tomcat-9.0.54/bin/startup.sh && tail -f /usr/local/apache-tomcat-9.0.54/bin/logs/catalina.out

3 构建

使用如下命令构建

docker build -t my-diy-tomcat .

构建日志如下:

[root@VM-8-5-centos web_app]# docker build -t my-diy-tomcat .
Sending build context to Docker daemon  197.2MB
Step 1/15 : FROM centos
 ---> 5d0da3dc9764
Step 2/15 : MAINTAINER suhaha<suhaha@sinoiov.com>
 ---> Running in 0b9bccd0217d
Removing intermediate container 0b9bccd0217d
 ---> a97454015399
Step 3/15 : ADD jdk-8u181-linux-x64.tar.gz /usr/local
 ---> fc5754e8aa9d
Step 4/15 : ADD apache-tomcat-9.0.54.tar.gz /usr/local
 ---> b804f9920f02
Step 5/15 : ENV MYPATH /usr/local
 ---> Running in c69d11a02e1d
Removing intermediate container c69d11a02e1d
 ---> 65fd2b51b346
Step 6/15 : WORKDIR $MYPATH
 ---> Running in 89ffdb849840
Removing intermediate container 89ffdb849840
 ---> ff9bf6740a9f
Step 7/15 : ENV JAVA_HOME /usr/local/jdk1.8.0_181
 ---> Running in cb3e97f0f5c3
Removing intermediate container cb3e97f0f5c3
 ---> 86e4466b3027
Step 8/15 : ENV CLASSPATH $JAVA_HOME/lib/dt.jar:#JAVA_HOME/lib/tools.jar
 ---> Running in f5f0a404edd8
Removing intermediate container f5f0a404edd8
 ---> 319cf44a7329
Step 9/15 : ENV CATALINA_HOME /usr/local/apache-tomcat-9.0.54
 ---> Running in 10bd17f04960
Removing intermediate container 10bd17f04960
 ---> 2ee589f0ba3b
Step 10/15 : ENV CATALINA_BASE /usr/local/apache-tomcat-9.0.54
 ---> Running in 0d94d8c3b3bd
Removing intermediate container 0d94d8c3b3bd
 ---> cbc2b4c9bad3
Step 11/15 : ENV PATH $PATH:$JAVA_HOME/bin:$CATALINA_HOME/lib:$CATALINA_HOME/bin
 ---> Running in 2703da794149
Removing intermediate container 2703da794149
 ---> af6be7727c8a
Step 12
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值