网站首页 > 博客文章 正文
前言
在本地编写好了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官网
猜你喜欢
- 2024-09-23 docker部署linux web运行环境笔记
- 2024-09-23 不可错过的Docker完整笔记(dockerhib)
- 2024-09-23 docker中执行指定脚本(docker 下运行springboot应用)
- 2024-09-23 Java项目要不要部署在Docker里?(java部署工具)
- 2024-09-23 Java Dockerfile 最佳实践分享(java docker部署)
- 2024-09-23 「这些都不知道你就是个弟弟」Docker常用命令
- 2024-09-23 Spring Cloud 第十一篇:docker部署spring cloud项目
- 2024-09-23 用 Docker、Gradle 来构建、运行、发布一个 Spring Boot 应用
- 2024-09-23 功能问题:如何用Docker部署一个后端项目?
- 2024-09-23 Springboot项目使用docker部署(springboot+docker自动部署)
你 发表评论:
欢迎- 最近发表
-
- 给3D Slicer添加Python第三方插件库
- Python自动化——pytest常用插件详解
- Pycharm下安装MicroPython Tools插件(ESP32开发板)
- IntelliJ IDEA 2025.1.3 发布(idea 2020)
- IDEA+Continue插件+DeepSeek:开发者效率飙升的「三体组合」!
- Cursor:提升Python开发效率的必备IDE及插件安装指南
- 日本旅行时想借厕所、买香烟怎么办?便利商店里能解决大问题!
- 11天!日本史上最长黄金周来了!旅游万金句总结!
- 北川景子&DAIGO缘定1.11 召开记者会宣布结婚
- PIKO‘PPAP’ 洗脑歌登上美国告示牌
- 标签列表
-
- ifneq (61)
- messagesource (56)
- aspose.pdf破解版 (56)
- promise.race (63)
- 2019cad序列号和密钥激活码 (62)
- window.performance (66)
- qt删除文件夹 (72)
- mysqlcaching_sha2_password (64)
- ubuntu升级gcc (58)
- nacos启动失败 (64)
- ssh-add (70)
- jwt漏洞 (58)
- macos14下载 (58)
- yarnnode (62)
- abstractqueuedsynchronizer (64)
- source~/.bashrc没有那个文件或目录 (65)
- springboot整合activiti工作流 (70)
- jmeter插件下载 (61)
- 抓包分析 (60)
- idea创建mavenweb项目 (65)
- vue回到顶部 (57)
- qcombobox样式表 (68)
- vue数组concat (56)
- tomcatundertow (58)
- pastemac (61)
本文暂时没有评论,来添加一个吧(●'◡'●)