首页 > 编程语言 >Docker部署Java项目

Docker部署Java项目

时间:2024-08-19 18:15:31浏览次数:14  
标签:容器 Java 部署 创建 镜像 Docker Dockerfile

本文使用Dockerfile的形式进行Java项目的部署

第一步:创建Dockerfile文件

Dockerfile是用于创建Docker对象的脚本,先创建Dockerfile文件,以下为我的文件模版:

 FROM:java对应的jdk版本

RUN: 在构建过程中执行命令,用于安装软件、配置环境等

ENV:设置环境变量

WORKDIR:指向构建镜像时使用的目录

ADD:将文件从构建上下文(通常是 Dockerfile 所在目录)复制到镜像中

VOLUME:声明容器中的数据卷,用于持久化存储

EXPOSE: 声明容器运行时监听的网络端口

ENTRYPOINT: 设置容器启动时要执行的入口命令。

第二步:准备Java项目

将项目打包,本文使用的是SpringBoot项目,在idea中可以使用maven的打包功能(package 命令)。

 

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

 第三步:构建Docker镜像

把准备好的Dockerfile和jar包发送到服务器中的同一个文件夹中,准备创建Docker镜像

 在当前目录打开命令窗口,输入:

docker  build  -t  XXX  .

XXX为创建镜像的名称,后面还有一个 不要忘记

-t : 给镜像取名

.  : 指定Dockerfile所在目录,如果就在当前目录,则指定为 " .  "

输入 : docker  images  查看是否成功创建镜像,以下为我的输入结果:

 第四步:创建doker容器

输入如图所示的命令

 -d : 表示后台运行

--name : 表示给容器起名,如图为ry

-p : 设置端口为8080

最后则是创建容器的镜像名称:ruoyi (对应之前的XXX)

输入 : docker ps -a 查看容器是否创建成功

如图则为创建成功,状态栏status显示为up,则为创建成功

输入 : docker logs -f ry  可查看日志

 如图所示,本文部署的SpringBoot项目已启动成功

标签:容器,Java,部署,创建,镜像,Docker,Dockerfile
From: https://www.cnblogs.com/yuyangblog/p/18367801

相关文章

  • java基础private/封装篇
    private的使用private设置后想要更改变量只能在此类中更改若想在其他类中更改和使用需要用get/set方法get获取变量值set更改变量值需自定义方法可加判断构造方法的概述构造方法是一种特殊的方法作用:创建对象格式:publicclass类名{......
  • PostgreSQL数据库的安装与部署(Linux)
    CentOS安装PostgreSQL版本信息:   CentOS版本:CentOS-7-x86_64-Minimal-1810   PostgreSQL版本:PostgreSQL10.10,64-bit 第一部分:PostgresSQL的安装1、安装rpm文件yuminstallhttps://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redh......
  • JavaScript-正则表达式入门指南-全-
    JavaScript正则表达式入门指南(全)原文:IntroducingRegularExpressions协议:CCBY-NC-SA4.0一、正则表达式简介为了开始介绍正则表达式,我将从一个例子开始。这是一个你已经经历了几百次的问题。当您在线输入客户数据时,许多web表单会要求您提供电子邮件地址。为了避免输入......
  • Java熔断框架:resilience4j
    1.文档中文文档:https://github.com/lmhmhl/Resilience4j-Guides-Chinese/blob/main/index.md 2.maven依赖<dependency><groupId>io.github.resilience4j</groupId><artifactId>resilience4j-spring-boot2</artifa......
  • Java-人工智能初学者实用手册-全-
    Java人工智能初学者实用手册(全)零、前言在一切都由技术和数据驱动的现代世界中,人工智能变得越来越重要,它是使任何系统或流程自动化的过程,以自动执行复杂的任务和功能,从而实现最佳生产率。面向初学者的Java人工智能实践解释了使用流行的基于Java的库和框架来构建智能应用程......
  • 书生大模型实战营3期 - 进阶岛 - 3 - LMDeploy 量化部署进阶实践
    文章目录闯关任务完成结果闯关任务任务描述:LMDeploy量化部署实践闯关任务任务文档:LMDeploy量化部署进阶实践完成结果使用结合W4A16量化与kvcache量化的internlm2_5-7b-chat模型封装本地API并与大模型进行一次对话,作业截图需包括显存占用情况与大模型回复,参考4......
  • JavaScript-快速语法参考-全-
    JavaScript快速语法参考(全)原文:JavaScriptQuickSyntaxReference协议:CCBY-NC-SA4.0一、使用JavaScript要开始试验JavaScript,您应该安装一个支持这种语言的集成开发环境(IDE)。有很多不错的选择,比如NetBeans、Eclipse、VisualStudio、括号。在本书中,我们将使用NetBe......
  • JavaScript-入门指南-全-
    JavaScript入门指南(全)原文:BeginningJavaScript协议:CCBY-NC-SA4.0一、JavaScript简介这些年来,avaScript发生了很大变化。我们目前正处于一个JavaScript库的时代,你可以构建任何你想构建的东西。JavaScript存在于客户机和服务器上,存在于桌面和移动设备上。这本书的目......
  • Docker不同宿主机网络打通
    本方式使用dockerSwarm集群的方式创建overlay网络进行打通背景因java微服务使用nacos做配置中心,为了解决Nacos服务注册使用Docker容器内网ip问题,使用此方案前置条件1、宿主机之间需要开通端口管理端口:2377/tcp:用于管理Swarm模式集群。这是SwarmManager和Worker......
  • 工作一年多,准备重新缕一下Java全流程(JDK8和JDK17,搭建环境)
    在重新学习的过程中哥们会吧一些理解不深的有疑问的记录在此系列中有好兄弟想一起学习,可以一起打卡记录一下一搭建环境今天下载了一下jdk17,因为工作中用8所以配置了一些兼容性的东西给大伙分析一些首先我们可以去官网下载jdk17,下载的话走默认路径就可以JavaDownloads|......