首页 > 编程语言 >docker部署java项目

docker部署java项目

时间:2023-09-22 15:22:10浏览次数:33  
标签:容器 java tomcat 部署 webapps container docker war

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

标签:容器,java,tomcat,部署,webapps,container,docker,war
From: https://www.cnblogs.com/lhcc924/p/17722440.html

相关文章

  • 企业微信机器人Javascript调用例子
    constkey=""constoWX_URL='https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key='+key;constsent_msg={'msgtype':'text','text':{......
  • JAVA_OPTS
    JAVA_OPTS,顾名思义,是用来设置JVM相关运行参数的变量。 JVM:JAVA_OPTS="-server-Xms2048m-Xmx2048m-Xss512k"-server:一定要作为第一个参数,在多个CPU时性能佳-Xms:初始Heap大小,使用的最小内存,cpu性能高时此值应设的大一些-Xmx:Java heap最大值,使用的最大内存......
  • ABP + Vue Docker 部署
    #!/bin/bashecho"Welcometodockerbuild"echo""echo""ABP_HOST="abp/host"ABP_NG="abp/ng"cd..echo"Buildingdockerimage$ABP_HOST..."#cd到aspnet-core目录,eg:cd/data/apb/#将aspnet-......
  • JAVA中三种I/O框架——BIO、NIO、AIO
    一、BIO(BlockingI/O)BIO,同步阻塞IO模型,应用程序发起系统调用后会一直等待数据的请求,直至内核从磁盘获取到数据并拷贝到用户空间;在一般的场景中,多线程模型下的BIO是成本较低、收益较高的方式。但是,如果在高并发的场景下,过多的创建线程,会严重占据系统资源,降低系统对外界响应效率......
  • Docker
    Ubuntu22.04全程root用户安装aptupdateaptinstall-yapt-transport-httpsca-certificatescurlgnupg-agentsoftware-properties-commoncurl-fsSLhttps://download.docker.com/linux/ubuntu/gpg|sudoapt-keyadd-add-apt-repository"deb[arch=amd64]https:......
  • Docker - Docker Desktopo
    ThereisareasonfortheneedforWindowsandMacuserstodownloadandworkwith DockerDesktopinsteadofworkingwithDockerbinarydirectly.Containerizationis moreofaLinuxtechnology,soitisnotavailableoutoftheboxforwindowsand macuse......
  • Java 21的StringBuilder和StringBuffer新增了一个repeat方法
    发现Java21的StringBuilder和StringBuffer中多了repeat方法:/***@throwsIllegalArgumentException{@inheritDoc}**@since21*/@OverridepublicStringBuilderrepeat(intcodePoint,intcount){super.repeat(codePoint,co......
  • 基于Java+vue开发的企事业移动培训考试平台
    随着移动互联网的快速发展,越来越多的企业开始关注移动培训和考试平台的开发。为了满足这一需求,我们可以使用Java和Vue来开发一个基于移动端的企事业培训考试平台。获取方式Q+:262086839一、背景和需求企事业移动培训考试平台是一个基于Web的应用程序,旨在提供一个方便、高效的......
  • 无涯教程-JavaScript - GAMMA.DIST函数
    描述GAMMA.DIST函数返回伽马分布。您可以使用此功能来研究可能具有偏斜分布的变量。伽马分布通常用于排队分析。语法GAMMA.DIST(x,alpha,beta,cumulative)争论Argument描述Required/OptionalXThevalueatwhichyouwanttoevaluatethedistribution.RequiredAlp......
  • 小白之IDEA创建java第一个程序
    (1)打开IDEA,创建项目名为first的项目。在src目录下创建名为HelloWorld的java类并写入代码再运行。  ......