docker部署java项目
1、首先你需要提前准备好jar包或者war包,并想办法放入Linux环境(或虚拟机)中;
2、java项目的部署需要用到Tomcat或者Jetty,docker可以直接拉取他俩的镜像,这里以Tomcat为例:
# : 后面需要加上war或者jar对应的Tomcat版本,最好加上,
# 否则默认最新的版本--latest,会出现版本不兼容的问题
docker pull tomcat:9.0.35
# 查看docker的镜像
docker images
3、接下来需要创建一个tomcat的容器:
# "your-container" 是容器名,tomcat:9.0.35是镜像名
# 第一个端口号8088是实际要访问的端口号
# 第二个端口号8080是tomcat服务器默认的端口号
docker run -p -d 8088:8080 --name your-container tomcat:9.0.35
4、创建后需要将war包或者jar包移动到tomcat容器(your-container)中的webapps下,或者采用挂载的方式
--- 方式一:非挂载
# 进入tomcat容器
# containerId为容器实际id,可通过docker ps -a命令查看
docker exec -it containerId /bin/bash
# 这样就会进入tomcat容器的目录,一般都是/usr/local/tomcat,
# 进入后确定webapps的路径,基本就是在当前目录下,即/usr/local/tomcat/webapps
# 确定webapps的路径后退出
exit
# 假设你的java项目为myWeb.war,位于/path/myWebProj/myWeb.war
# containerId为tomcat容器实际id
# 复制后并重命名为ROOT.war(可以不重命名)
docker cp /path/myWebProj/myWeb.war containerId:/usr/local/tomcat/webapps/ROOT.war
# 重启容器
docker restart your-container
# 查看日志——可以看到运行war的输出日志,不报错基本没问题
docker logs your-container
# 浏览器输入地址查看即可
# localhost是你服务器地址,这里是本地,否则是你当前服务器的ip
# 8088是在docker run的时候设置的接口映射,映射为tomcat的8080端口
http://localhost:8088
--- 方式二:挂载
# 挂载方式更加简洁
# 下述命令可以堪称上述3-4命令的集合
# 当然仍然要保证tomcat容器下webapps的路径正确
docker run -p -d 8088:8080 --name your-container -v /path/myWebProj/myWeb.war:/usr/local/tomcat/webapps/ROOT.war tomcat:9.0.35
# 重启容器
docker restart your-container
docker部署java项目的更多相关文章
- docker 部署 java 项目
Docker Docker官方网址: https://docs.docker.com/ 英文地址 Docker中文网址: http://www.docker.org.cn/ 中文地址 Docker是 ...
- 使用docker部署java项目
在接触了docker后,干什么都想用docker来弄.最近刚做完毕业设计,本来是说将项目简单在本地部署就行了,结果老师说如果部署在服务器的话有加加分,于是果断用docker来搞,多加点分. java项 ...
- 通过Docker部署Java项目的日志输出到宿主机指定目录
之前写过2篇关于Docker部署的文章: 1.超!超!超简单,Linux安装Docker 2.Docker通过阿里云镜像仓库使用Gitlab_CI部署SpringBoot项目 用上篇博客部署Java程 ...
- jenkins+docker部署java项目
jenkins + maven + jdk + docker + docker register + dockerfile jenkins插件 # 安装插件 SSH # 配置 系统设置-> SS ...
- 手把手docker部署java应用(初级篇)
本篇原创发布于 Flex 的个人博客:点击跳转 前言 在没有 docker 前,项目转测试是比较麻烦的一件事.首先会化较长的时间搭建测试环境,然后在测试过程中又经常出现测试说是 bug,开发说无法 ...
- docker初体验:Docker部署SpringCloud项目eureka-server
Docker部署SpringCloud项目eureka-server 1 创建eureka-server工程 创建父工程cloud-demo,其pom.xml如下: <?xml version= ...
- Docker网络配置、Docker部署分布式项目
目标 1.Docker网络配置 2.Docker部署SpringCloud项目 Docker网络配置 Docker网络模式介绍 Docker在创建容器时有四种网络模式:bridge/host/cont ...
- Docker部署web项目-jar包
一.Docker部署web项目-jar包 ①搜索mysql镜像 docker search mysql ②拉取镜像至本地仓库(本文选取的mysql镜像5.7版本) docker pull mysql/ ...
- tomcat部署java项目
tomcat部署java项目 1.启动tomcat 进入到tomcat安装目录下的bin #cd /opt/tomcat/bin #./startup.sh // 执行重启命令 2.重建一个新目录导入 ...
- RedHat Linux 5.5安装JDK+Tomcat并部署Java项目
与大家分享下RedHat Linux 5.5安装JDK+Tomcat并部署Java项目的步骤,希望对大家有用. 1.下载并安装jdk 虚拟机中安装RedHat Linux 5.5 64位企业版, 这里 ...
随机推荐
- SpringMVC:SpringMVC处理Ajax请求
目录 @RequestBody @RequestBody获取json格式的请求参数 @ResponseBody @ResponseBody响应浏览器json数据 @RestController注解 @ ...
- Coursera, Big Data 5, Graph Analytics for Big Data, Week 1/2
Graph表示 1. adjacency matrix最简单的一种表示:行是From 列是To, 这种表示是稀疏矩阵 2. 另一种表示,如下图,很多graph数据库用这种,是的数据库操作更有效率 us ...
- svg之viewbox缩放
先看个示例 代码如下: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> & ...
- SQL Server – Temporal Table 时态表
前言 之前写过一篇, 但那个时候还没有开始用, 现在是要用了, 所以翻新一下呗. SQL server temporal table 学习笔记 主要参考: 官网 Temporal tables [译] ...
- SXYZ-6.28训练赛
今天上午出中考成绩,所以下午打了一场训练赛,只有两个小时,没有昨天毒瘤,但也很毒瘤(还是模拟赛好) 关于中考可以看我的中考游记 (为了保护隐私,以后都把姓名涂掉) 为什么还是倒数啊~ T1 binar ...
- linux内核调试痛点之函数参数抓捕记
1.linux内核调试工具crash并不能直接显示函数参数,而这个对调试又非常重要 下面是工作中一个实际的问题,我们的进程hang在如下一个内核栈中了,通过栈回溯可知是打开了一个nfs3的网盘文件或者 ...
- LeetCode 1388. Pizza With 3n Slices(3n 块披萨)(DP)
给你一个披萨,它由 3n 块不同大小的部分组成,现在你和你的朋友们需要按照如下规则来分披萨: 你挑选 任意 一块披萨.Alice 将会挑选你所选择的披萨逆时针方向的下一块披萨.Bob 将会挑选你所选择 ...
- LeetCode 327. Count of Range Sum 区间和的个数
给定一个整数数组 nums,返回区间和在 [lower, upper] 之间的个数,包含 lower 和 upper.区间和 S(i, j) 表示在 nums 中,位置从 i 到 j 的元素之和,包含 ...
- SpringBoot.3中的aot.factories到底有什么用?和以前的spring.factories一样吗?
首先,我们来澄清一下 aot.factories 和 spring.factories 之间的区别.这两个文件不仅名称不同,而且在功能上也存在显著差异.接下来,我们将深入探讨这两个文件的具体作用以及它 ...
- ftrace在应用上的使用
之前介绍通过命令行配置和使用ftrace功能,但是实际中,我们也会希望抓C/C++程序中某段代码的调度情况.笔者前不久就遇到这种问题,某个函数调用时延概率超过100ms,是为什么?这时候就需要在他们代 ...