Tomcat App 容器化
这里使用的测试使用的是一个Snoop Servlet编写的java程序,该程序可以获取请求的头信息,这里通过简单的示例展示如何将其容器化。
Tomcat应用容器示例1
Dockerfile内容
1[root@ecs-82f5 example]# cat Dockerfile
2FROM centos:7
3
4MAINTAINER [email protected]
5
6RUN mkdir /opt/tomcat/
7
8WORKDIR /opt/tomcat
9RUN curl -O https://dlcdn.apache.org/tomcat/tomcat-8/v8.5.79/bin/apache-tomcat-8.5.79.tar.gz
10RUN tar xvfz apache*.tar.gz
11RUN mv apache-tomcat-*/* /opt/tomcat/.
12RUN yum -y install java
13RUN java -version
14
15WORKDIR /opt/tomcat/webapps
16RUN curl -O -L https://github.com/AKSarav/SampleWebApp/raw/master/dist/SampleWebApp.war
17
18EXPOSE 8080
19
20CMD ["/opt/tomcat/bin/catalina.sh", "run"]
当然,这里也可以直接使用tomcat的基础镜像,这样就省去后面装tomcat、java的步骤,不过这里为了演示应用打包的过程,就选择了步骤更多的操作。
运行测试
1docker build -t saravak/tomcat8 .
2docker container run -it -d --name tomcatcontainer1 -p 8081:8080 saravak/tomcat8
这里省略了上传docker registry的操作,因为这里仅仅只是测试。如果是生产环境,像上面docker镜像制作时还得把manager页面删除。
运行完后,可以通过http://主机IP:8081/SampleWebApp/SnoopServlet去访问。
Tomcat应用容器示例2
在标例1里有提到可以省去tomcat、java的安装步骤,这里再搞一个简单的示例:
1FROM tomcat:8.0-alpine
2LABEL maintainer="[email protected]"
3ADD sample.war /usr/local/tomcat/webapps/
4EXPOSE 8080
5CMD ["catalina.sh", "run"]
编译运行:
1docker build -t myapp .
2docker run -it -d -p 8888:8080 myapp:latest
3
4# 访问 http://ip:8888/sample/访问
具体示例,参看 https://github.com/361way/docker/tree/master/tomcat 页面。
捐赠本站(Donate)
如您感觉文章有用,可扫码捐赠本站!(If the article useful, you can scan the QR code to donate))
- Author: shisekong
- Link: https://blog.361way.com/tomcat-docker/6735.html
- License: This work is under a 知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议. Kindly fulfill the requirements of the aforementioned License when adapting or creating a derivative of this work.