君匡

V1

2022/07/24阅读:11主题:自定义主题1

Docker系列三部署Tomcat

前言

在本地编写好了Spring项目,为了实现能够随时地访问,所以需要将项目部署到服务器。为了简便,就选择使用Docker。将编译并重命名为ROOT.war的压缩包上传到指定路径中,用访问ip+端口号即可。

安装JDK8环境

已经安装

一般来说服务器是应该有JDK环境的,直接在命令行中输入关键字java,如果出现提示,就只需要记录下来java的路径即可跳过该步骤。

没有安装

其实更建议直接去JDK官网下载,当然,在我的微信公众号**君匡**(因为域名和服务器都会频繁改动,关注后取关也无妨的,/腼腆笑)也是有提供jdk-8u221-linux-x64.tar.gz安装包的。

将下载好的安装包上传到服务器,解压并移动到某个指定位置。

#scp 上传文件
scp  /Users/keen/Downloads/jdk-8u221-linux-x64.tar.gz  root@39.96.12.167:/home/keen/jdk-8u221-linux-x64.tar.gz

# 解压文件
tar -xzvf jdk-8u221-linux-x64.tar.gz

# 生成目录
mkdir /home/keen/jdk/

# 解压的文件移动过去
mv jdk1.8.0_221/ /home/keen/jdk/

记住此时的JDK的路径为/home/keen/jdk/,后面会用到。

安装Tomcat

拉取镜像

如果想要搜寻指定版本再拉取,建议移步本系列的前几篇文章。

#拉取镜像版本为9.0.33,要求使用JDK8作为环境
docker pull tomcat:9.0.33-jdk8-openjdk

创建外部挂载目录

在我的个人文件夹内,生成指定名称为tomcat的文件夹,保存容器内的文件。

# 文件夹名为tomcat
export Tomcat=tomcat

# 生成外部挂载目录
mkdir /home/keen/docker/$Tomcat 

创建临时容器

创建临时容器,目的是为了复制出来一些默认的配置文件。

docker run \
    -p 8080:8080 \
    --name temp \
    -d \
    tomcat:9.0.33-jdk8-openjdk

将临时容器内的文件复制到挂载路径中:

docker cp temp:/usr/local/tomcat/conf/ /home/keen/docker/$Tomcat/conf/ 
docker cp temp:/usr/local/tomcat/bin/ /home/keen/docker/$Tomcat/bin/ 
docker cp temp:/usr/local/tomcat/logs/ /home/keen/docker/$Tomcat/logs/ 
docker cp temp:/usr/local/tomcat/webapps/ /home/keen/docker/$Tomcat/webapps/

销毁并删除临时容器

docker stop temp && docker rm temp

创建并运行容器

最后运行想要的容器:

docker run \
    --name $Tomcat \
 -p 9000:8080 \
    --restart=always \
    --log-opt max-size=20m  \
    -v /home/keen/docker/$Tomcat/conf/:/usr/local/tomcat/conf/ \
    -v /home/keen/docker/$Tomcat/bin/:/usr/local/tomcat/bin/  \
    -v /home/keen/docker/$Tomcat/logs/:/usr/local/tomcat/logs/  \
    -v /home/keen/docker/$Tomcat/webapps/:/usr/local/tomcat/webapps/  \
    -v ~/jdk/:/usr/local/openjdk-8/  \
    -v /etc/localtime:/etc/localtime  \
    -d \
    tomcat:9.0.33-jdk8-openjdk
  • --name:启动容器设置容器名称为变量Tomcat,我在上文有赋值为tomcat
  • -p: 设置容器的8080端口映射到主机9000端口
  • --restart=always:设置开机自启
  • --log-opt: 配置日志记录大小
  • -v:地址映射。
  • -d:后台运行

在项目中编译打包为WAR类型,将编译并重命名为ROOT.war的压缩包上传到/home/keen/docker/$Tomcat/webapps/路径中,用访问ip+端口号即可。

部署毕设项目

我要用这种方式部署我的毕设项目,幸好我有准备!

# 指定名称
export Tomcat=tomcat-garbageclassfication
cd /home/keen/docker && mkdir $Tomcat

docker run -p 8080:8080 --name temp -d tomcat:9.0.33-jdk8-openjdk

docker cp temp:/usr/local/tomcat/conf/ /home/keen/docker/$Tomcat/conf/ 
docker cp temp:/usr/local/tomcat/bin/ /home/keen/docker/$Tomcat/bin/ 
docker cp temp:/usr/local/tomcat/logs/ /home/keen/docker/$Tomcat/logs/ 
docker cp temp:/usr/local/tomcat/webapps/ /home/keen/docker/$Tomcat/webapps/

docker stop temp && docker rm temp

docker run -p 9292:8080 \
--restart=always \
--log-opt max-size=20m  \
-v /home/keen/docker/$Tomcat/conf/:/usr/local/tomcat/conf/ \
-v /home/keen/docker/$Tomcat/bin/:/usr/local/tomcat/bin/  \
-v /home/keen/docker/$Tomcat/logs/:/usr/local/tomcat/logs/  \
-v /home/keen/docker/$Tomcat/webapps/:/usr/local/tomcat/webapps/  \
-v ~/jdk/:/usr/local/openjdk-8/  \
-v /etc/localtime:/etc/localtime  \
--name $Tomcat \
-d \
tomcat:9.0.33-jdk8-openjdk

上传ROOT.war即可。

感谢

感谢现在的好奇,为了能成为更好的自己。

感谢王谚老师的指导。

JDK官网

分类:

后端

标签:

后端

作者介绍

君匡
V1