Linux服务器上使用Docker部署Java后端与Tomcat前端项目实战
需积分: 15 156 浏览量
更新于2024-08-05
收藏 957KB DOCX 举报
本资源提供了一种在Linux服务器上使用Docker部署Java后端项目以及在Tomcat上部署前端项目的详细步骤。文档中包含了使用Xshell和Xftp工具与Linux服务器交互,创建Dockerfile,构建Docker镜像,运行Docker容器,以及在Tomcat中部署前端应用的方法。
主要知识点:
1. Java Docker化部署:在 `/usr/local` 目录下创建项目文件夹,将后台Java项目打包成jar文件放入其中。接着创建一个名为 `Dockerfile` 的文件,用于定义镜像的构建过程。`Dockerfile` 内容如下:
- `FROM java:8` 指定基础镜像为Java 8。
- `VOLUME /tmp` 创建一个挂载点,用于处理随机数生成。
- `ADD ruoyi-admin.jar app.jar` 将本地的jar文件添加到镜像中并重命名。
- `ENTRYPOINT ["java", "-Djava.security.egd=file:/dev/./urandom", "-jar", "/app.jar"]` 定义启动命令,运行jar包。
2. 构建Docker镜像:使用 `docker build -t 镜像名称 .` 命令创建镜像,检查是否成功构建可通过 `docker images` 命令查看。
3. 运行Docker容器:通过 `docker run --name docker-demo -d -p 8082:8857 jerome.xin/docker-demo` 命令创建名为 `docker-demo` 的容器,将主机的8082端口映射到容器的8857端口,容器基于 `jerome.xin/docker-demo` 镜像启动。访问 `http://106.14.156.208:8083/login` 即可查看运行效果。
4. Tomcat部署:将前端项目打包并放入 `/usr/local/apache-tomcat-8.5.35/webapps` 目录下,解压缩后,在Tomcat的配置文件 `server.xml` 的 `<host>` 标签内添加 `<Context>` 标签指定默认访问路径。
5. 常用Docker命令:
- `docker images` 查看所有镜像。
- `docker ps -a` 查看所有容器。
- `docker rm 容器id` 删除指定容器。
- `docker rmi 镜像id` 删除指定镜像。
- `docker stop $(docker ps -aq)` 停止所有容器。
- `docker rm $(docker ps -aq)` 删除所有容器。
- `netstat -anp` 查看正在使用的端口。
- `ps -ef | grep 8082` 查找特定端口对应的进程。
- `kill -9 PID` 结束指定进程。
6. Xshell和Xftp工具:Xshell用于远程连接Linux服务器进行命令行操作,Xftp则用于文件的上传和下载,两者结合便于在本地与Linux服务器之间进行文件管理。
7. 网络配置:在配置Tomcat时,确保其监听的端口未被其他服务占用,可以通过 `netstat -anp` 和 `ps -ef | grep 端口号` 命令检查端口状态。
8. 安全配置:为了提高安全性,建议修改Docker容器的默认端口,并确保Dockerfile中的安全设置,例如避免不必要的暴露和使用非root用户运行应用。
以上步骤和知识点提供了在Linux环境下,利用Docker和Tomcat部署Java后端及前端项目的实践指南,涵盖了从环境准备到项目上线的关键步骤。
2024-07-08 上传
2020-01-02 上传
2020-03-31 上传
2023-11-08 上传
2021-01-09 上传
2022-07-10 上传
2021-01-20 上传
2024-12-04 上传
伴你若风
- 粉丝: 0
- 资源: 3
最新资源
- SMS1.0:实训第一周案例
- Advanced List Service for IRCnet ircd-开源
- custom-wordpress-theme
- alu.rar_VHDL/FPGA/Verilog_VHDL_
- DSTC6-端到端会话建模:DSTC6:端到端会话建模
- 长短链接实现.zip
- :link:您自己的URL缩短器-PHP开发
- Software-Quality:质量与测试实验室
- slurmpy:使用快速和肮脏的python提交作业以毁
- Commercial-Properties-in-India-Top-Commercial-Projects-in-Noida-:同样重要的是,在诺伊达(Noida)或大诺伊达(Greater Noida)的商业项目中要意识到,所有重要的业务部门也都具有知识。 诺伊达(Noida)和NCR的其他各个部分中,配备齐全的商业项目通常都设有办公室,例如高速升降机,Wi-Fi,气候控制系统,瓷砖甲板,CCTV,多面开口,照明,娱乐中心,综合设施,儿童游乐设施等。此外,承办地点应具有以下优点:广泛的车辆离开,安全性
- eleventy-plugin-embeddeverything:一个Eleventy插件,仅使用URL即可轻松将常用媒体格式嵌入帖子中
- bootstrap 图标引入
- 小清微博(原百度收藏夹)源代码
- Anagram Finder-开源
- vagrant-chef:一个带有所有必要的厨师食谱的流浪者安装,用于运行基本的cakephp应用程序
- public-information-map-template-js:ArcGIS Online映射模板,用于在地图上展示社交媒体以用于灾难响应和公共信息