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

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

目标:生成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包是不会自动解压的(个人理解) 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值