如何使用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镜像内部的路径

相关文章
|
5月前
|
Java jenkins 应用服务中间件
结合Jenkins与Tomcat,实施Maven项目的自动构建和部署流程。
任何项目构建和部署的自动化流程,总离不开对各个环节精细把控与密切配合。涉及到源代码管理、构建工具、持续集成服务器以及最终的运行时环境的协调。通过上述简洁实用的步骤,可以实现Maven项目从源代码到运行状态的无缝过渡,进而提升软件开发的效率与质量。
329 0
|
8月前
|
Java 关系型数据库 MySQL
在Linux平台上进行JDK、Tomcat、MySQL的安装并部署后端项目
现在,你可以通过访问http://Your_IP:Tomcat_Port/Your_Project访问你的项目了。如果一切顺利,你将看到那绚烂的胜利之光照耀在你的项目之上!
439 41
|
8月前
|
开发框架 Java 关系型数据库
在Linux系统中安装JDK、Tomcat、MySQL以及部署J2EE后端接口
校验时,浏览器输入:http://[your_server_IP]:8080/myapp。如果你看到你的应用的欢迎页面,恭喜你,一切都已就绪。
550 17
|
8月前
|
Java 关系型数据库 MySQL
在Linux操作系统上设置JDK、Tomcat、MySQL以及J2EE后端接口的部署步骤
让我们总结一下,给你的Linux操作系统装备上最强的军队,需要先后装备好JDK的弓箭,布置好Tomcat的阵地,再把MySQL的物资原料准备好,最后部署好J2EE攻城车,那就准备好进军吧,你的Linux军团,无人可挡!
175 18
|
8月前
|
开发框架 关系型数据库 Java
Linux操作系统中JDK、Tomcat、MySQL的完整安装流程以及J2EE后端接口的部署
然后Tomcat会自动将其解压成一个名为ROOT的文件夹。重启Tomcat,让新“植物”适应新环境。访问http://localhost:8080/yourproject看到你的项目页面,说明“植物”种植成功。
247 10
|
12月前
|
监控 Java 应用服务中间件
tomcat相关概念与部署tomcat多实例-zabbix监控(docker部署)
通过上述步骤,您可以在Ubuntu系统上成功编译并安装OpenCV 4.8。这种方法不仅使您能够定制OpenCV的功能,还可以优化性能以满足特定需求。确保按照每一步进行操作,以避免常见的编译问题。
181 23
|
12月前
|
监控 Java 应用服务中间件
tomcat相关概念与部署tomcat多实例-zabbix监控(docker部署)
通过上述步骤,您可以在Ubuntu系统上成功编译并安装OpenCV 4.8。这种方法不仅使您能够定制OpenCV的功能,还可以优化性能以满足特定需求。确保按照每一步进行操作,以避免常见的编译问题。
277 25
|
12月前
|
监控 Java 应用服务中间件
tomcat相关概念与部署tomcat多实例-zabbix监控(docker部署)
通过上述步骤,您可以在Ubuntu系统上成功编译并安装OpenCV 4.8。这种方法不仅使您能够定制OpenCV的功能,还可以优化性能以满足特定需求。确保按照每一步进行操作,以避免常见的编译问题。
359 22
|
NoSQL Java 关系型数据库
Liunx部署java项目Tomcat、Redis、Mysql教程
本文详细介绍了如何在 Linux 服务器上安装和配置 Tomcat、MySQL 和 Redis,并部署 Java 项目。通过这些步骤,您可以搭建一个高效稳定的 Java 应用运行环境。希望本文能为您在实际操作中提供有价值的参考。
804 26
|
Java 应用服务中间件 Linux
tomcat学习二:tomcat部署多个项目:不修改端口和修改端口 两种方式详解
这篇文章详细介绍了在Tomcat服务器上部署多个项目的方法,包括不修改端口和修改端口两种方式。
1084 0