编写Dockerfile构建java8加tomcat9自定义镜像

准备jdk-8u211-linux-x64.tar.gz和apache-tomcat-9.0.50.tar.gz

[root@localhost java_tomcat]# ls
apache-tomcat-9.0.50.tar.gz  c.txt  Dockerfile  jdk-8u211-linux-x64.tar.gz

编写Dockerfile文件

MAINTAINER zzyy
COPY c.txt /usr/local/cincontainer.txt
ADD jdk-8u211-linux-x64.tar.gz /usr/local
ADD apache-tomcat-9.0.50.tar.gz /usr/local
ENV MYPATH /usr/local
WORKDIR $MYPATH
ENV JAVA_HOME /usr/local/jdk1.8.0_211
ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
ENV CATALINA_HOME /usr/local/apache-tomcat-9.0.50
ENV CATALINA_BASE /usr/local/apache-tomcat-9.0.50
ENV PATH $PATH:$JAVA_HOME/bin:$CATALINA_HOME/lib:CATALINA_HOME/bin
EXPOSE 8080
#ENTRYPOINT ["/usr/local/apache-tomcat-9.0.50/bin/startup.sh"]
#CMD ["/usr/local/apache-tomcat-9.0.50/bin/catalina.sh","run"]
CMD /usr/local/apache-tomcat-9.0.50/bin/startup.sh && tail -F /usr/local/apache-tomcat-9.0.50/bin/logs/catalina.out

开始构建镜像

[root@localhost java_tomcat]# docker build -t java_tomcat .
Sending build context to Docker daemon  206.5MB
Step 1/14 : FROM centos
 ---> 300e315adb2f
Step 2/14 : MAINTAINER zzyy
 ---> Using cache
 ---> 06ecc398817f
Step 3/14 : COPY c.txt /usr/local/cincontainer.txt
 ---> Using cache
 ---> eced77fa60f8
Step 4/14 : ADD jdk-8u211-linux-x64.tar.gz /usr/local
 ---> Using cache
 ---> e838b08a9b1c
Step 5/14 : ADD apache-tomcat-9.0.50.tar.gz /usr/local
 ---> Using cache
 ---> 0ca0be303253
Step 6/14 : ENV MYPATH /usr/local
 ---> [Warning] IPv4 forwarding is disabled. Networking will not work.
 ---> Running in cdb453274a24
Removing intermediate container cdb453274a24
 ---> a0122f42cd2a
Step 7/14 : WORKDIR $MYPATH
 ---> [Warning] IPv4 forwarding is disabled. Networking will not work.
 ---> Running in 93b9c0e1be4e
Removing intermediate container 93b9c0e1be4e
 ---> b4ef2c38cbaa
Step 8/14 : ENV JAVA_HOME /usr/local/jdk1.8.0_211
 ---> [Warning] IPv4 forwarding is disabled. Networking will not work.
 ---> Running in 8873a8a0723e
Removing intermediate container 8873a8a0723e
 ---> ef31b64b5203
Step 9/14 : ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
 ---> [Warning] IPv4 forwarding is disabled. Networking will not work.
 ---> Running in 4a1fbe3259d5
Removing intermediate container 4a1fbe3259d5
 ---> be62bf5028ee
Step 10/14 : ENV CATALINA_HOME /usr/local/apache-tomcat-9.0.50
 ---> [Warning] IPv4 forwarding is disabled. Networking will not work.
 ---> Running in 7311f5038222
Removing intermediate container 7311f5038222
 ---> 2aa580626636
Step 11/14 : ENV CATALINA_BASE /usr/local/apache-tomcat-9.0.50
 ---> [Warning] IPv4 forwarding is disabled. Networking will not work.
 ---> Running in 7df0023ae793
Removing intermediate container 7df0023ae793
 ---> dd9d5ad026a4
Step 12/14 : ENV PATH $PATH:$JAVA_HOME/bin:$CATALINA_HOME/lib:CATALINA_HOME/bin
 ---> [Warning] IPv4 forwarding is disabled. Networking will not work.
 ---> Running in fd762ef29052
Removing intermediate container fd762ef29052
 ---> 4605f8795086
Step 13/14 : EXPOSE 8080
 ---> [Warning] IPv4 forwarding is disabled. Networking will not work.
 ---> Running in 0c7019906fe9
Removing intermediate container 0c7019906fe9
 ---> f8e1f6a4106b
Step 14/14 : CMD /usr/local/apache-tomcat-9.0.50/bin/startup.sh && tail -F /usr/local/apache-tomcat-9.0.50/bin/lalina.out
 ---> [Warning] IPv4 forwarding is disabled. Networking will not work.
 ---> Running in e419dd4b7a93
Removing intermediate container e419dd4b7a93
 ---> fe3d4763bebe
Successfully built fe3d4763bebe
Successfully tagged java_tomcat:latest

查看镜像

[root@localhost java_tomcat]# docker images
REPOSITORY    TAG          IMAGE ID       CREATED          SIZE
java_tomcat   latest       fe3d4763bebe   15 seconds ago   632MB

使用上面构建的镜像运行容器

[root@localhost java_tomcat]# mkdir -p /tomcat9/{logs,test}

[root@localhost java_tomcat]# docker run -d -p 9080:8080 --name mytom -v /data/java_tomcat/tomcat9/test:/usr/local/apache-tomcat-9.0.50/webapps/test -v /data/java_tomcat/tomcat9/logs:/usr/local/apache-tomcat-9.0.50/webapps/logs --privileged=true java_tomcat
WARNING: IPv4 forwarding is disabled. Networking will not work.
c633e6a9e2126fadfe4ce8d3adfd995ef4c26e05de527158cb0ea0dffbe1c0d3

访问浏览器http://localhost:9080
在这里插入图片描述
看到这只猫表示这次构建镜像圆满成功

继续测试构建的镜像,添加测试的项目文件a.jsp和WEB-INF/web.xml

[root@localhost test]# ls
a.jsp  WEB-INF

a.jsp内容如下:

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Insert title here</title>
</head>
<body>
----------welcome--------
Hello World!<br/>
<%="i am in docker tomcat test"%>
<br>
<br>
<% System.out.println("===========Hello World!"); %>
</body>
</html>

web.xml内容如下:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" version="3.0">
        <display-name>test</display-name>
</web-app>

重启容器

[root@localhost WEB-INF]# docker ps
CONTAINER ID   IMAGE         COMMAND                  CREATED          STATUS          PORTS                                       NAMES
c633e6a9e212   java_tomcat   "/bin/sh -c '/usr/lo…"   28 minutes ago   Up 28 minutes   0.0.0.0:9080->8080/tcp, :::9080->8080/tcp   mytom
[root@localhost WEB-INF]# docker restart c6
c6

访问http://localhost:9080/test/a.jsp
在这里插入图片描述
看到这个页面表示测试通过。
下载源码

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

reg183

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

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

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

打赏作者

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

抵扣说明:

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

余额充值