如何使用Docker部署Java项目

 更新时间:2023年07月19日 16:43:20   作者:晨小曦玩Java  
在接触了docker后,干什么都想用docker来弄,这篇文章主要给大家介绍了关于如何使用Docker部署Java项目的相关资料,文中通过图文介绍的非常详细,需要的朋友可以参考下

Docker是一种容器化技术,可以帮助开发者轻松打包应用程序和依赖项,并在任何地方运行它们。在本文中,我们将介绍如何使用Docker部署Java项目。

1.第一步: 创建Dockerfile文件

Dockerfile是用于创建Docker对象的脚本,先创建Dockerfile文件,可以在idea的项目中创建,文件内容模板如下:                               

FROM openjdk:11.0.11-jdk-slim
WORKDIR /app
COPY text.jar /app
CMD ["java", "-jar", "text.jar"]
  • :FROM 是java项目对应的jdk版本
  • :WORKDIR 指定构建镜像时使用的目录
  • :COPY 将jar包复制到容器中对应的文件中 ,示例代码jar包在当前文件中
  • :CMD 运行Docker容器之后执行的命令,这里是运行jar包的命令,此命令关闭服务器连接的时候,项目也会停止运行。这里拓展一下运行jar包在关闭连接之后,项目依然运行的命令: nohup java -jar xxx.jar & (nohup表示即使当前连接关闭也执行该命令, & 表示放到后台运行。 

2.  将项目打包

我这里使用的是SpringBoot项目,在idea中可以直接操作打包

点击maven,点击Lifecycle,点击package,项目打包成功之后会放在项目中的target文件中。

3.把准备好的Dockerfile和jar包发送到服务器中的同一个文件夹中

准备创建Docker镜像

4. 创建Docker镜像

一定要在当前目录中,输入命令:

docker build -t xxx .     

xxx表示镜像名称, 命令后面有个 . 别忽略了

5. 创建Docker镜像之后会出现加载的进度条,如果没有报错,那么大概率是成功了

6.  输入命令再次确认Docker镜像创建成功

docker images

发现已经创建成功了、

7. 输入命令创建 Docker容器

docker run -p 8080:8080 text 

8. 输入此命令后会出现springboot项目启动的那一幕

9.启动成功之后输入命令

docker ps 

再次确认Docker容器有没有运行,一切操作完毕就可以访问服务器的swagger,如果访问成功,就说明Docker部署Java项目成功。

结论

使用Docker可以轻松的打包和部署Java应用程序,通过一个简单的创建Dockerfile和运行容器,我们可以快速的将Java应用程序部署在任何地方。

总结

到此这篇关于如何使用Docker部署Java项目的文章就介绍到这了,更多相关Docker部署Java项目内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Springboot中路径参数带 (%2F)的问题彻底解决方案

    Springboot中路径参数带 (%2F)的问题彻底解决方案

    这篇文章主要介绍了彻底解决Springboot中路径参数带(%2F)的问题,本文结合示例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-06-06
  • Spring boot2.0 实现日志集成的方法(2)

    Spring boot2.0 实现日志集成的方法(2)

    这篇文章主要介绍了Spring boot2.0 实现日志集成的方法,上一章讲解了spring boot日志简单集成,这篇我们将日志进行分类,常规日志、异常日志、监控日志等,需要将日志输出到不同的文件,具体内容需要的小伙伴可以参考一下
    2022-04-04
  • 详解SpringMVC中的@RequestMapping注解

    详解SpringMVC中的@RequestMapping注解

    这篇文章主要介绍了SpringMVC中@RequestMapping注解,@RequestMapping注解是一个用来处理请求地址映射的注解,可用于映射一个请求或一个方法,可以用在类或方法上,需要的朋友可以参考下
    2023-07-07
  • Java中实现Redis管道技术的代码详解

    Java中实现Redis管道技术的代码详解

    在高并发的应用中,数据访问性能往往是系统性能的关键瓶颈之一,Redis作为一款高性能的内存数据库,广泛应用于缓存、会话存储等场景,然而,在某些需要执行大量Redis命令的场景下,网络往返延迟,Redis提供了管道技术解决这一问题,下面小编给大家详细说说
    2025-04-04
  • Springboot如何使用@Async实现异步任务

    Springboot如何使用@Async实现异步任务

    这篇文章主要介绍了Springboot如何使用@Async实现异步任务问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-09-09
  • 详解在springboot中使用Mybatis Generator的两种方式

    详解在springboot中使用Mybatis Generator的两种方式

    这篇文章主要介绍了详解在springboot中使用Mybatis Generator的两种方式,本文将介绍到在springboot的项目中如何去配置和使用MBG以及MBG生成代码的两种方式,非常具有实用价值,需要的朋友可以参考下
    2018-11-11
  • 在Spring中利用@Order注解对bean和依赖进行排序

    在Spring中利用@Order注解对bean和依赖进行排序

    在Spring框架中,@Order是一个经常被忽视但非常重要的注解,在项目开发中,当我们需要维护bean的特定顺序或者存在许多相同类型的bean时,这个注解就发挥了作用,这篇文章讲的就是如何利用@Order注解对bean和依赖进行排序,需要的朋友可以参考下
    2023-11-11
  • springboot3.X 无法解析parameter参数问题分析

    springboot3.X 无法解析parameter参数问题分析

    本文介绍了Spring Boot 3.2.1版本中调用接口时出现的参数解析问题,该错误是由Spring新版本加强的错误校验和报错提示导致的,在Spring 6.1之后,官方要求URL中的传参必须使用`@PathVariable`声明用于接收的变量,而不能省略`@RequestParam`注解,感兴趣的朋友一起看看吧
    2025-03-03
  • IDEA 显示Run Dashboard窗口的2种方式(推荐)

    IDEA 显示Run Dashboard窗口的2种方式(推荐)

    这篇文章主要介绍了IDEA 显示Run Dashboard窗口的2种方式,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-08-08
  • SpringBoot后端验证码的实现示例

    SpringBoot后端验证码的实现示例

    为了防止网站的用户被通过密码典爆破,引入验证码的功能是十分有必要的,本文主要介绍了SpringBoot后端验证码的实现示例,具有一定的参考价值,感兴趣的可以了解一下
    2024-08-08

最新评论