【Docker】javaWeb项目在docker上面运行

目录

方式一

方式二


无非是两种方式

  1. 方式一:先运行tomcat的容器,然后将javaWeb项目部署在容器的Tomcat上(这种在操作上跟虚拟机没什么区别)
  2. 方式二:直接将tomcat和javaWeb打成镜像,直接生成容器

因为是老项目,没有Main-class,必须运行在应用服务器上(例如Tomcat)。不像springboot项目,有启动程序可以直接通过java -jar命令运行。

方式一

先生成一个Tomcat容器,如果本地没有Tomcat镜像,docker会自动去远程下载

docker run -tid --name TomcatContain -p 8080:8080 tomcat

等TomcatContain容器成功运行,进入容器内部,将打好的war包放入/usr/local/tomcat/webapps路径内,重启容器。

docker exec -ti TomcatContain /bin/bash

如何将war包放进容器内?

用命令docker ps查看容器信息,获取容器的ID

docker ps

再把编译好的war包放进docker宿主机的任意文件夹,再用命令将文件复制进容器的/usr/local/tomcat/webapps路径下

docker cp /路径/xxxx.war 容器ID:/usr/local/tomcat/webapps

然后查看下是否复制成功,然后重启tomcat容器

docker restart TomcatContain

方式二

设置Dockerfile

# Docker image for javaWeb application
# VERSION 0.0.1
# Author: Kannokaze

### 基础镜像,使用tomcat,javaWeb需在Tomcat才能运行
FROM hub.c.163.com/library/tomcat

#作者
MAINTAINER Kannokaze <1131429439@qq.com>

#系统编码
ENV LANG=C.UTF-8 LC_ALL=C.UTF-8

#暴露8080端口
EXPOSE 8080

#部署war包
#将编译好的war包复制到tomcat的webapps目录上,tomcat就会自动部署,不用重启容器
COPY /out/artifacts/gpms_war/gpms_war.war  /usr/local/tomcat/webapps/gpms.war

然后就像往常一样,构建image

docker build -t xxxx:v.0.0.1 .

等到进行构建完成,生成容器,不需要重启容器,Tomcat会自动部署

docker run -tid --name xxx -p xxxx:xxxx xxxx:v0.0.1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值