自定义Docker镜像(tomcat+war包实例)

本文介绍如何通过Dockerfile创建自定义Docker镜像,包括指定基础镜像、复制应用文件、设置维护者等步骤,并以部署WAR包到Tomcat为例进行详细说明。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

工作忙了一段时间,继续把会的内容简单记录下

自定义docker镜像

创建一个Dockerfile文件,并且指定自定义镜像信息

Dockerfile文件中常用的内容

maintainer:镜像作者
from:基础镜像地址,指自定义镜像是基于哪个镜像的
evn:用来构建镜像的环境变量
run:构建镜像时需要运行的命令
copy:将相对路径下的内容复制到自定义镜像中
workdir:声明镜像默认工作目录
cmd:需要执行的命令【在workdir下执行的,cmd可写多条,只以最后一条为准】

举个小栗子:将test1.war部署到自定义tomcat镜像中

创建Dockerfile文件

输入并保存以下内容(注意:该文件无后缀格式)
from daocloud.io/library/tomcat:9.0.36-jdk8-corretto
copy test1.war /usr/local/tomcat/webapps/
maintainer duanyadian 7852***076@163.com
在linux中创建目录并进入该目录下,然后将准备好的Dockerfile文件和war包导入该目录

制作镜像

docker build -f Dockerfile路径 -t 自定义镜像名称:[tag] .
docker build -t test_tomcat:1.0 .  (最后的点指当前路径)

运行镜像

docker run -d -p 8096:8080 --name my_test_tomcat 0471d6e68928

查看镜像运行结果

访问成功,一个简单的自定义镜像就完成啦!!!

### 如何在含JDK8的Docker容器中部署WARTomcat9 为了实现这一目标,可以创建一个自定义Dockerfile来构建所需的镜像。下面是一个详细的指南。 #### 创建Dockerfile 首先,在项目根目录下创建一个新的文件名为`Dockerfile`: ```dockerfile FROM tomcat:9.0-jdk8-openjdk # 设置环境变量以避免Tomcat启动时的一些警告信息 ENV CATALINA_HOME=/usr/local/tomcat \ PATH=$CATALINA_HOME/bin:$PATH # 将war复制到webapps目录下 COPY ./your-application.war $CATALINA_HOME/webapps/ # 暴露默认端口 EXPOSE 8080 # 启动命令 CMD ["catalina.sh", "run"] ``` 此配置基于官方提供的带有OpenJDK 8版本的Tomcat 9镜像[^1]。通过设置环境变量确保路径正确无误,并将应用程序的`.war`文件放置于Tomcat服务器的应用程序部署位置即`$CATALINA_HOME/webapps/`内。最后指定暴露的服务端口号以及运行服务所使用的指令。 #### 构建并运行容器 完成上述操作之后,可以通过如下命令来进行镜像的构建与容器实例化工作: ```bash docker build -t my-tomcat-app . docker run -d -p 8080:8080 --name running-my-tomcat-app my-tomcat-app ``` 这里假设本地存在名为`your-application.war`的应用程序打包文件位于当前工作空间之中;如果实际名称不同,则需相应调整前面提到过的`COPY`语句中的源路径部分。 一旦成功执行以上两条命令后,访问浏览器输入http://localhost:8080应该就能看到已部署应用的效果了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

小白典

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

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

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

打赏作者

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

抵扣说明:

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

余额充值