docker:部署java Springboot项目

news2024/11/18 21:48:58

文章目录

    • 1、打 jar 包
    • 1、创建Dockerfile
    • 3、创建镜像
    • 4、启动容器
    • 其他注意事项
      • docker中jdk的版本命名
        • 举例:openjdk:11-ea-17-jre-slim
        • 举例:8u312-jre-nanoserver-1809
      • 通过find找文件

1、打 jar 包

将项目打一个 jar 包,可以使用 IDEA
在这里插入图片描述
在这里插入图片描述

1、创建Dockerfile

在项目根目录创建Dockerfile文件

FROM openjdk:17-jdk-slim
WORKDIR /app
COPY target/zy-spring-boot-0.0.1-SNAPSHOT.jar app.jar
ENTRYPOINT ["java", "-jar", "app.jar"]

3、创建镜像

# 项目根目录执行
docker build -t zy-spring-boot:1.0.0 .

4、启动容器

docker run -p 9090:9090 zy-spring-boot:1.0.0

执行结果和你 java -jar 的一样

其他注意事项

docker中jdk的版本命名

我们在 Dockerfile 中写的 FROM openjdk:17-jdk-slim 就是从 dockerhub 中搜的,以下是一些命名规则

举例:openjdk:11-ea-17-jre-slim
  • openjdk:表示这是一个 OpenJDK(Open Java Development Kit)的镜像。OpenJDK 是一个开源的 Java 开发工具包。
  • 11:表示 OpenJDK 的版本号。在这个例子中,版本号为 11。
  • ea:表示这是一个“早期访问”(Early Access)版本。EA 版本是为了让用户在正式发布之前尝试新特性和改进的版本。
  • 17:表示这个 EA 版本的具体构建号。每个 EA 版本都有一个唯一的构建号。
  • jre:表示这是一个包含 Java 运行时环境(JRE)的镜像。JRE 包含了运行 Java 应用程序所需的最小环境。
  • slim:表示这是一个较小的基础镜像,以减小镜像的大小。通常,slim 版本使用了较小的操作系统作为基础。
举例:8u312-jre-nanoserver-1809
  • 8u312:表示这是 Java 版本 8 的更新版本,具体为第 312 次更新。这里的 “u” 表示 “update”,表示 Java 的更新版本。
  • jre:表示这是一个包含 Java 运行时环境的镜像。JRE 包含了运行 Java 应用程序所需的最小环境,不包括开发工具。
  • nanoserver:表示这个镜像是基于 Windows Nano Server 构建的。Nano Server 是 Windows Server 2016 中的一种轻量级部署选项,用于运行云原生应用。
  • 1809:表示这个镜像是基于 Windows Server 版本 1809 构建的。这是 Windows Server 2019 的早期版本号。

通过find找文件

我想找到 mysql 的 my.cnf 文件,但是不知道在哪,可以这么找

sudo find /opt -name my.cnf
> mysql --help
Default options are read from the following files in the given order:
/etc/my.cnf /etc/mysql/my.cnf /opt/homebrew/etc/my.cnf ~/.my.cnf

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1294790.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

智能优化算法应用:基于跳蛛算法无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用:基于跳蛛算法无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用:基于跳蛛算法无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.跳蛛算法4.实验参数设定5.算法结果6.参考文献7.MATLAB…

前端依赖下载速度过慢解决方法,nrm 镜像管理工具

npm 默认镜像 :https://registry.npmjs.org/ 问题 使用 npm install 安装依赖的时候,受网络的限制,速度会很慢。 解决 使用国内镜像代理。 nrm nrm 是镜像源管理工具; 1. 安装 nrm npm install nrm --global# 查看镜像源列…

Java线程安全问题及其三大线程同步“锁”方案

文章目录 一、 线程安全问题概述二、线程安全问题的demo演示三、线程同步方案四、线程同步代码块五、同步方法六、Lock锁七、附录—多线程常用方法 在实际开发过程中,使用线程时最重要的一个问题非线程安全问题莫属。这篇博客会带你由浅入深的初步了解该问题&#x…

FolkMQ 内存型消息中间件,v1.0.18 发布

简介 采用 “内存运行” “快照持久化” “Broker 集群模式”(可选)基于 Socket.D 网络应用协议 开发,使用“多路复用”技术。全新设计,自主架构! 角色功能生产端发布消息(Qos0、Qos1)、发布…

SOLIDWORKS参数化工具如何设置部分提取

编制参数表是参数化设置必不可少的一环,提取零部件参数又是生成参数表所必须的步骤,然而很多时候,模型的量级很大,需要变化的零部件只有三分之一,那如果全部提取出来,将耗费大量的时间,因此部分…

Swagger页面报错Resolver error at definitions

问题描述 打开swagger页面报错Resolver error at definitions 原因分析: 从错误提示可以看出,是由map引起的原因,具体是因为swagger配置没有默认添加map的复杂结构引起的,需要手动添加。 解决方案: 找到swagger配置类…

黄金代理商怎么做才会受客户青睐?

黄金代理商是市场中推广现货黄金投资的角色,黄金代理商做的越好,推广的效果越明显,投资者就越多,这样他们就可以获得多一点黄金代理平台的佣金。所以,黄金代理商们会使劲浑身解数,让自己获得更多客户的青睐…

【ARM Trace32(劳特巴赫) 使用介绍 13 -- Trace32 Var 变量篇】

文章目录 Trace32 查看变量值Var.view 查看变量值Var.view 查看数据类型的大小Var.view 根据变量地址查看变量值 地址类型判断 Trace32 查看变量值 步骤1 步骤2 步骤3: 步骤4: 查看结构体变量 str_t32 的值 struct t32_str {uint32_t t32_val…

【JavaEE进阶】 Spring使用注解存储对象

文章目录 🌴序言🍀前置⼯作:配置扫描路径🎄添加注解存储 Bean 对象🌳类注解🚩为什么要这么多类注解🚩注解之间的联系 🎋⽅法注解 Bean🚩⽅法注解需要配合类注解使⽤ ⭕总…

合合信息旗下启信宝与鹏城实验室达成数据托管合作,“AI靶场”让数据管理更精准

数字经济时代,数据已成为新型生产要素。通过“数据托管”等形式对数据进行集中管理,有助于保护数据主体权益,促进数据共享和运用效率,对数字经济的发展具有重要意义。近期,在深圳数据交易所(简称“深数所”…

如何使用eXtplorer+cpolar内网穿透搭建个人云存储实现公网访问

文章目录 1. 前言2. eXtplorer网站搭建2.1 eXtplorer下载和安装2.2 eXtplorer网页测试2.3 cpolar的安装和注册 3.本地网页发布3.1.Cpolar云端设置3.2.Cpolar本地设置 4.公网访问测试5.结语 1. 前言 通过互联网传输文件,是互联网最重要的应用之一,无论是…

Cloak斗篷技术不知道?超实用干货,FP商家必读!

都2023年了,还有很多人犹豫要不要入局独立站。心动不如行动,如果想要在跨境独立站中干出一番新事业,要赶紧动起来。部分卖家在出海初期,都想着出售FP产品,涉及到FP产品,各大主流平台上都有严格的审核机制&a…

如何教你四个类搞定分层自动化测试框架

写在前面 我们刚开始做自动化测试,可能写的代码都是基于原生写的代码,看起来特别不美观,而且感觉特别生硬。 来看下面一段代码: 如果你想学习自动化测试,我这边给你推荐一套视频,这个视频可以说是B站播放…

华三AC+AP部署无线基本配置

拓扑图: 1、创建管理VLAN与AP管理VLAN、终端接入VLAN、配置管理VLAN IP地址 设备管理VLAN 56、AP管理VLAN 101、终端接入VLAN 10 AC、HeXin、JieRu。(创建VLAN)[H3C]vlan 101[H3C-vlan101]description AP-vlan[H3C]vlan 56[H3C-vlan56]desc…

SAP UI5 walkthrough step9 Component Configuration

在之前的章节中,我们已经介绍完了MVC的架构和实现,现在我们来讲一下,SAPUI5的结构 这一步,我们将所有的UI资产从index.html里面独立封装在一个组件里面 这样组件就变得独立,可复用了。这样,无所什么时候我…

【51单片机系列】74HC595实现对LED点阵的控制

本文是关于LED点阵的使用,使用74HC595模块实现对LED点阵的控制。 文章目录 一、8x8LED点阵的原理1.1 LED点阵显示原理1.2 LED点阵内部结构图1.3 开发板上的LED点阵原理图1.4 74HC595芯片 二、使用74HC595模块实现流水灯效果三、 使用74HC595模块控制LED点阵对角线亮…

IDEA中表明或者字段找不到时报红

问题 idea 中mysql的sql语句报红,无论表名还是表字段 原因 是由于sql方言导致的 当我们选择某一个sql方言的时候,xml配置会按照指定规则校验sql是否规范,并给出提示 解决方案 取消sql方言,设置sql方言为None。设置完重启idea既…

Mysql启动占用内存过高解决

Hi, I’m Shendi Mysql启动占用内存过高解决 前言 最近服务器内存不够用了,甚至还出现了内存溢出问题,导致程序宕机。但请求与用户量并没有多少,所以从各种启动的程序中想方设法的尽可能的减少其占用的内存。 而在我的服务器中,…

二叉树的非递归遍历(详解)

二叉树非递归遍历原理 使用先序遍历的方式完成该二叉树的非递归遍历 通过添加现有项目的方式将原来编写好的栈文件导入项目中 目前项目存在三个文件一个头文件,两个cpp文件: 项目头文件的代码截图:QueueStorage.h 项目头文件的代码&#xff…

golang学习笔记——TCP端口扫描器

文章目录 TCP 端口扫描器非并发版本并发版本goroutine 池并发版 TCP 端口扫描器 time.Sincefunc Since net包Conn 接口func Dialfunc DialTimeoutfunc FileConn TCP 端口扫描器 非并发版本 package mainimport ("fmt""net" )func main() {for i : 21; i …