史上最详细阿里云服务器上Docker部署War包项目 实战每一步都带详细图解!!!

部署jar 包方式:

部署vue项目

安装 tomcat 并部署项目

之前已经写了部署SpringBoot 和Vue 前后端分离的文章,是用Nginx 和 jar 包方式部署的前后端,这次还打算用tomcat尝试一下部署。

1、搜索镜像

docker search tomcat

docker image 阿里 阿里云docker部署_java

具体介绍可以在dockerhub 上可以看到。

2、启动并下载

docker run -p 8080:8080 -d --name mytomcat tomcat

docker image 阿里 阿里云docker部署_linux_02

因为docker 判断我们没有tomcat 容器 ,这样就会自动去拉取tomcat 镜像,没有指定版本,默认最高版本。

并且可以看到我们的tomcat 已经启动了。

docker image 阿里 阿里云docker部署_linux_03

但是这个时候我们拿外网去测试,是会报404 的。看后面大家就知道啦。

docker image 阿里 阿里云docker部署_tomcat_04

3、进入tomcat容器

docker exec -it mytomcat /bin/bash

docker image 阿里 阿里云docker部署_docker_05

这样就是进入到tomcat容器里面啦。

之前我们拿外网访问,报的是404 ,是因为webapps下面是空的。

docker image 阿里 阿里云docker部署_linux_06

因为docker拉取的镜像的时候,是最简配置。

但是我们肯定是可以访问到的。

接下来我们看webapps.dist 文件

docker image 阿里 阿里云docker部署_linux_07

这个里面是有tomcat的首页等等。我们只需要把它复制或移动到webapps下面就可以了。

mv webapps.dist/* webapps

docker image 阿里 阿里云docker部署_docker image 阿里_08

移动完成后,这个时候我们再拿外网访问测试。

docker image 阿里 阿里云docker部署_docker image 阿里_09

正式进入正文

之前我们启动的时候,并没有做tomcat的webapps目录和宿主机的挂载。

不可能每一次启动项目,还要进入一遍tomcat容器吧。那也太麻烦啦😂。

现在我们暂停tomcat 容器。

1、查看全部容器

docker ps -a

docker image 阿里 阿里云docker部署_java_10

2、暂停、删除

docekr stop <容器id>
docker container rm <容器id> #删除暂停的容器

docker image 阿里 阿里云docker部署_java_11

3、重新启动tomcat容器 挂载webapps目录

在宿主机创建一个和tomcat容器webapps挂载的目录 我这里是这样的。

docker image 阿里 阿里云docker部署_docker image 阿里_12

启动tomcat 容器

docker run -d -p 8080:8080 --name mytomcat -v /home/tomcat/:/usr/local/tomcat/webapps/ tomcat

docker image 阿里 阿里云docker部署_docker image 阿里_13

  • -d 后台运行
  • -p 暴露端口
  • -v 挂载目录 引号前 宿主机目录 后 容器内目录
  • –name 为这个启动的容器取一个名字

这样以后部署SSM项目的时候,直接打成war 丢进宿主机的 /home/tomcat(这个是我挂载的目录,你们不要照抄啊)目录就可以啦。

4、实战测试

我写了一个小demo来进行测试。

首先将war包放入我们和tomcat容器挂载的目录。

docker image 阿里 阿里云docker部署_linux_14

然后直接测试即可。

在浏览器中输入你的服务器访问地址加上 这个项目名称就可以啦。

http://ip地址:8080/demo/

docker image 阿里 阿里云docker部署_tomcat_15