如何使用Dockerfile构建Tomcat镜像并部署war

简介: 7月更文挑战第14天

我们都知道Docker构建一个镜像有两种方式:
使用docker commit命令
使用Dockerfile文件和docker build命令那么这两种方式有何区别呢?
相同点:底层实现上一样,最终都是通过docker commit生成镜像;
不同点:通过Dockerfile生成镜像,能够实现镜像文档化,使得镜像可读且易维护;
通过docker build生成镜像则相反,不能实现镜像文档化。所以这篇文章采用Dockerfile来构建 :D
0x02准备工作
创建目录
$ mkdir tomcat && cd tomcat # 创建一个目录来存放所需文件$ touch Dockerfile && vi Dockerfile # 编写Dockefile
Dockerfile (Tomcat其他版本)
FROM tomcat:7-jre7 # tomcat7 + jre 7
MAINTAINER "errorlife steffan.fan@foxmail.com" # 维护者
CMD ["catalina.sh", "run"] #启动tomcat shell执行程序0x03 构建镜像
构建镜像
$ sudo docker build -t errorlife/tomcat .

"-t",--tag,为当前镜像命名:errorlife/tomcat

".", 指代当前目录运行镜像

$ sudo docker run -d -p 8080:8080 errorlife/tomcat

-d,--detach=false 指定容器运行于前台还是后台(-d即后台)

"-p",--port,指定宿主机的8080端口绑定到镜像暴露的8080端口运行结果

  1. 你可以使用​​curl​​命令确定是否正确部署成功
    $ curl http://docker.steffan.cn:8080/1. 使用浏览器访问http://ip:8080/
    当你见到熟悉的汤姆猫的时候,就证明你构建成功了。
    部署war包
  2. 将war包上传到与​​Dockerfile​​文件同一目录(即tomcat) 我使用的是WinSCP,个人觉得好用到不行=。=
  3. 重新编写Dockerfile:
    $ vi Dockerfile1. Dockerfile:
    FROM tomcat:7-jre7
    MAINTAINER "errorlife steffan.fan@foxmail.com"
    ADD dockertest.war /usr/local/tomcat/webapps/ #将war包添加进webapps中
    CMD ["catalina.sh", "run"] #启动tomcat shell执行程序1. 运行结果
    0x04 其他配置文件
    应用场景
    由于一些项目需要修改tomcat的​​context.xml​​​,​​setting.xml​​​,​​tomcat-user.xml​​​等,还有一些​​tomcat的lib包​​​,甚至是添加一些独有的​​授权文件​​​,那么也应该在​​dockerfile​​​中​​add​​​进去,而不是直接放到​​Linux​​的文件管理系统中。
    Show一下我的Dockerfile
    FROM tomcat:7-jre7
    MAINTAINER "errorlife steffan.fan@foxmail.com"

ADD settings.xml /usr/local/tomcat/conf/
ADD tomcat-users.xml /usr/local/tomcat/conf/
ADD config/license.xml

ADD classes12.jar /usr/local/tomcat/lib
ADD ojdbc6.jar /usr/local/tomcat/lib
ADD oracle-jdbc-10.2.jar /usr/local/tomcat/lib
ADD context.xml /usr/local/tomcat/conf/
ADD xxx.war /usr/local/tomcat/webapps/
CMD ["catalina.sh", "run"]结论:docker会将这些文件添加到tomcat镜像内部的路径

相关文章
|
3月前
|
监控 Java 应用服务中间件
部署tomcat部署实战案例
本文是关于Tomcat部署实战案例的教程,包括通过yum和二进制方式部署Tomcat的详细步骤,以及如何监控Tomcat服务。
212 84
部署tomcat部署实战案例
|
4月前
|
Java 应用服务中间件 Windows
【应用服务 App Service】App Service 中部署Java项目,查看Tomcat配置及上传自定义版本
【应用服务 App Service】App Service 中部署Java项目,查看Tomcat配置及上传自定义版本
|
3月前
|
应用服务中间件 Docker 容器
docker应用部署---Tomcat的部署配置
这篇文章介绍了如何使用Docker部署Tomcat服务器,包括搜索和拉取Tomcat镜像、创建容器并设置端口映射和目录映射,以及如何创建一个HTML页面并使用外部机器访问Tomcat服务器。
docker应用部署---Tomcat的部署配置
|
2月前
|
Java 应用服务中间件 Linux
tomcat学习二:tomcat部署多个项目:不修改端口和修改端口 两种方式详解
这篇文章详细介绍了在Tomcat服务器上部署多个项目的方法,包括不修改端口和修改端口两种方式。
129 0
|
4月前
|
应用服务中间件 Docker 容器
在服务器中使用Docker安装Tomcat、同时实现目录挂载、并且部署War包到服务器
这篇文章介绍了在Docker中安装Tomcat的过程,包括搜索Tomcat镜像、拉取镜像、目录挂载的准备、创建并挂载容器,以及如何进入容器和进行测试。文中还说明了如何将WAR包部署到Tomcat服务器并访问部署的应用。
在服务器中使用Docker安装Tomcat、同时实现目录挂载、并且部署War包到服务器
|
3月前
|
前端开发 Java 应用服务中间件
react自学(6) 部署到tomcat中
react自学(6) 部署到tomcat中
|
4月前
|
jenkins 持续交付 开发工具
"引爆效率革命!Docker+Jenkins+GIT+Tomcat:解锁持续集成魔法,一键部署Java Web应用的梦幻之旅!"
【8月更文挑战第9天】随着软件开发复杂度的增加,自动化变得至关重要。本文通过实例展示如何结合Docker、Jenkins、Git与Tomcat建立高效的持续集成(CI)流程。Docker确保应用环境一致性;Jenkins自动化处理构建、测试和部署;Git管理源代码版本;Tomcat部署Web应用。在Jenkins中配置Git插件并设置项目,集成Docker构建Tomcat应用镜像并运行容器。此外,通过自动化测试、代码质量检查、环境隔离和日志监控确保CI流程顺畅,从而显著提高开发效率和软件质量。
78 3
|
2月前
|
安全 应用服务中间件 网络安全
Tomcat如何配置PFX证书?
【10月更文挑战第2天】Tomcat如何配置PFX证书?
220 7
|
2月前
|
存储 算法 应用服务中间件
Tomcat如何配置JKS证书?
【10月更文挑战第2天】Tomcat如何配置JKS证书?
317 4
|
4月前
|
网络协议 Java 应用服务中间件
tomcat配置域名及HTTPS
tomcat配置域名及HTTPS