docker生成tomcat镜像并运行javaweb项目

本文详细介绍了如何使用Docker构建Tomcat镜像并进行部署。从下载基础镜像开始,逐步创建Dockerfile,配置环境变量,暴露端口,设置启动命令。接着构建镜像,查看和删除镜像,启动容器,并映射端口及挂载卷。还讲解了如何将Java Web项目打包成war包并放入Tomcat容器中运行。同时提到了挂载卷方式下的项目启动和访问方法。
摘要由CSDN通过智能技术生成

目标:生成tomcat镜像并运行

1.下载基础镜像 docker pull contos:7  理解为下载操作系统的相关库依赖

2.下载tomcat,jdk

3.vim Dockerfile

#指定基础镜像
FROM centos
#镜像维护者信息
MAINTAINER bingo<chen@163.com>
#把java和tomcat添加到容器中,自动解压
ADD jdk-8u341-linux-x64.tar.gz /usr/local/
ADD apache-tomcat-9.0.65.tar.gz /usr/local/
#设置工作访问时候的workdir路径,登录落脚点
ENV MYPATH /usr/local
WORKDIR $MYPATH
#配置环境变量
ENV JAVA_HOME /usr/local/jdk1.8.0_341
ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
ENV CATALINA_HOME /usr/local/apache-tomcat-9.0.65
ENV CATALINA_BASH /usr/local/apache-tomcat-9.0.65
ENV PATH $PATH:JAVA_HOME/bin:$CATALINA_HOME/lib:$CATALINA_HOME/bin
#容器运行时监听端口
EXPOSE 8080
#入口,tomcat的启动命令
CMD  /usr/local/apache-tomcat-9.0.65/bin/startup.sh && tail -F /usr/local/apache-tomcat-9.0.65/bin/logs/catalina.out 

4.构建镜像

docker build -f Dockerfile -t diytomcat .   //.不能丢弃,表示当前目录

Docker images 查看镜像

docker rmi 镜像id  //删除镜像

5.启动镜像创建容器

 docker run -d -p 9091:8080 --name santomcat -v /opt/my/tomcat/test:/usr/local/apache-tomcat-9.0.65/webapps/test   mytomcat

-p:把8080端口映射到宿主机的9091端口

-name: 名称

-v:挂载日志

开机自启动在后面加上:–restart=always

6.范围ip:端口(如果设置了上面的挂载,webapps里为空没有这个)

docker exec -it 容器id  /bin/bash      #进入容器内部

systemctl restart docker          #重启docker

curl localhost:8080          #查询宿主机是否连接成功

找个javaweb项目,可以是下载仓库 · 植树chen/JavaWeb项目 - Gitee.com

将web项目打成war包

  1. 首先在IntelliJ IDEA中选中自己要打包的项目,点击file,选择Project Structure。
  2. 在Project Structure中选中Artifacts。
  3. 点击左上角绿色的+号,选择Web Application Archive,选中你要打包的项目,图中即为for 'demo:war exploded'。
  4. 此时发现绿色+号这一栏下面多了demo:war这一项,选中它,然后设置Output Directory(即war包放置的地址)。选中Include in project build。点击Apply,然后确定
  5. 选中Build菜单下的Build Artifacts
  6. 选择demo:war,点击Build。然后等Build完成,就可以去之前设置的Output Directory中查找生成的war包。

将war包放入tomcat容器并运行

  1. 进入容器

 docker exec -it 173533e6f812 /bin/bash

2.在容器中查找到tomcat的webapps文件夹

3.把war包复制到tomcat的webapps文件夹

 docker cp /opt/tomcat/blogs_war.war 173533e6f812:/usr/local/apache-tomcat-9.0.65/webapps

4.重启容器

docker restart 容器id

 

5.ip:端口/项目名称

二.使用挂载卷的方式

在启动镜像创建容器的时候:/opt/my/tomcat:/usr/local/apache-tomcat-9.0.65/webapps

  1. 向/opt/my/tomcat中上传war包

 

 2.启动项目网址

http://192.168.200.128:9091/blogs/

注意:在挂载卷中如果不是wabapps里面,应该war包是不会自动解压的(个人理解) 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
运行Docker中的Tomcat镜像,可以按照以下步骤进行操作: 1. 首先,你可以在Docker Hub的官网上搜索Tomcat镜像,或者在Linux上使用命令来搜索Tomcat镜像。比如使用命令`docker search tomcat`来搜索Tomcat镜像。 2. 选择一个适合的Tomcat镜像后,可以通过以下命令来下载Tomcat镜像:`docker pull tomcat`。如果没有指定Tomcat的版本,会下载最新的Tomcat镜像。 3. 下载完成后,可以使用以下命令运行Tomcat容器,并挂载目录到容器内:`docker run -p 8080:8080 -v /opt/docker-work/tomcat8:/usr/local/tomcat/webapps tomcat`。 这里的`/opt/docker-work/tomcat8`是服务器上创建的存放war包的目录,可以根据实际情况进行修改。这个命令会将容器内的Tomcat的8080端口映射到主机的8080端口,并将目录`/opt/docker-work/tomcat8`挂载到容器内的`/usr/local/tomcat/webapps`目录,以便加载war包。 4. 运行以上命令后,你就可以通过访问`http://localhost:8080`来访问Tomcat服务器了。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [Docker下载Tomcat镜像运行Tomcat容器](https://blog.csdn.net/m0_64284147/article/details/126450926)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *3* [docker 运行 tomcat 镜像](https://blog.csdn.net/qq_40342026/article/details/90516247)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值