当前位置: 首页 > article >正文

使用docker打包部署jar包服务

环境 JDK11+springboot,写一个简单的 Controller,返回 hello World

使用 maven package 打包工程,生成对应的 jar 包。

在 target 中找到 jar 包

![外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传](https://img-home.csdnimg.cn/images/20230724024159.png?origin_url=https%3A%2F%2Fcdn.nlark.com%2Fyuque%2F0%2F2025%2Fpng%2F38629240%2F1737010256216-cdf19256-b5cc-42f3-a04c-1b1fc2e97789.png&pos_id=img-QDMw60OW-173751068417

把 Jar 包拿过来,放到服务器的目录下面去。

先把 openjdk 11 给拉去下来

docker  pull  openjdk:11

在这里插入图片描述

编写的 Dockerfile 文件

FROM openjdk:11

WORKDIR /user

COPY app-0.0.1-SNAPSHOT.jar app.jar  #将原来jar拷贝成新的jar包

EXPOSE 8080  #暴露端口
 
ENTRYPOINT ["java", "-jar", "app.jar"]
docker build -t wzkjhello  .   //运行这个命令  构建出wzkjhello的镜像

运行容器

docker run -d --restart=always --name wzkjhello -p 8080:8080  wzkjhello

访问成功

这个中间的几个概念

a. Dockerfile

  • 定义:Dockerfile 是一个文本文件,包含了一系列指令,用于自动化构建 Docker 镜像。
  • 作用:通过编写 Dockerfile,可以定义应用程序的运行环境、所需的依赖、配置文件等,确保环境的一致性和可重复性。

b. 镜像(Image)

  • 定义:镜像是一个轻量级、可执行的独立软件包,包含运行某个应用程序所需的所有代码、运行时、库、环境变量和配置文件。
  • 特性
    • 只读:镜像本身是只读的,多层文件系统(Layered File System)。
    • 可复用:同一个镜像可以被多个容器共享,节省存储空间。

c. 容器(Container)

  • 定义:容器是镜像的运行实例,是一个隔离的、可运行的环境,包含应用程序及其所有依赖。
  • 特性
    • 轻量级:共享宿主机的操作系统内核,启动速度快。
    • 隔离性:每个容器彼此独立,确保应用的安全和稳定性。

http://www.kler.cn/a/514676.html

相关文章:

  • OpenVela 各模块之间的交互方式和数据流
  • Autosar CP中SWC收发LIN消息的函数调用流程原理解析
  • Fastapi + vue3 自动化测试平台(4)-- fastapi分页查询封装
  • Arweave的出块原理
  • Servlet快速入门
  • TypeScript - 利用GPT辅助学习
  • 免费下载 | 2024中国智算中心产业发展白皮书
  • 【MySQL — 数据库基础】深入解析MySQL常用表操作
  • Servlet3 简单测试
  • 加强版第二十二章KTL光流法
  • priority_queue底层实现细节
  • 图片生成Prompt编写技巧
  • ASP.NET Blazor部署方式有哪些?
  • 让旅游更智能:基于AR的旅游导览应用解析
  • jupyter notebook环境问题
  • 爬虫基础之爬取某站视频
  • VIVO大数据面试题及参考答案
  • PID 控制算法(二):C 语言实现与应用
  • KT148A语音芯片一个mp3语音,有办法分成一段一段的吗
  • typescript 书写.d.ts文件
  • 【ubuntu 连接显示器无法显示】可以通过 ssh 连接 ubuntu 服务器正常使用,但服务器连接显示器没有输出
  • AI新玩法:Flux.1图像生成结合内网穿透远程生图的解决方案
  • win暂停更新设置
  • react上增加错误边界 当存在错误时 不会显示白屏
  • Spring 中 Bean 是什么?从类到 Bean 的核心概念解析
  • SpringBoot对于Spring的扩展