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

将本地微服务发布到docker镜像

描述

将本地springboot微服务发布到docker镜像中并启动容器

第一步

先本地idea创建一个简单的springboot服务,不需要连接数据库相关操作,只包含简单的接口功能做验证。
相关测试代码如下所示

package com.itwopqq.booting;import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;/*** @author 2pqq* @desx* @date 2024-03-23*/
@RequestMapping("/user")
@RestController
public class PageController {@Value("${server.port}")private String port;@GetMapping("/order/docker")public String order() throws Exception {return "hello docker";}@GetMapping("/order/index")public String index() throws Exception {return "服务端口号:" + "\t" + port + "\t";}
}

完整测试代码连接:https://github.com/fanz1/simple-demo

第二步:执行maven下的命令打包

如下所示,执行package,将我们的服务打成jar包
在这里插入图片描述

第三步:将jar包转成docker镜像文件

  • 上一步取到jar包之后,将jar包上传到服务器上
    在这里插入图片描述

  • 编写Dockerfile文件,为了方便,请将Dockerfile文件与jar包保持同一目录,Dockerfile文件内容如下所示

#基础镜像
FROM java:8# 作者 
MAINTAINER 2pqq# 指定临时目录tmp
VOLUME /tmp# 复制jar包文件
ADD simple-demo-0.0.1-SNAPSHOT.jar simple-demo.jar#运行jar包
RUN bash -c 'touch /simple-demo.jar'
ENTRYPOINT ["java", "-jar", "/simple-demo.jar"]#暴露服务端口
EXPOSE 8081
  • 构建镜像
    在Dockerfile目录下执行构建镜像命令

docker build -t simple-demo-jar:1.0 .

  • 构建完成之后查看我们的镜像文件
    在这里插入图片描述

  • 启动我们的容器

 docker run -d --name docker-simple-jar -p 8081:8081 simple-demo-jar:1.0
  • 查看容器是否正常启动

docker ps

在这里插入图片描述

  • 验证功能
    访问微服务中的接口,测试接口是否可以正常访问,如下所示
    在这里插入图片描述

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • vm虚拟机下安装CentOS7系统
  • 力扣第45题:跳跃游戏 贪心DP(C++)
  • 哈佛大学单细胞课程|笔记汇总 (二)
  • Jenkins保姆笔记(1)——基于Java8的Jenkins安装部署
  • 使用Cisco进行模拟RIP路由协议配置
  • 文献解读-肿瘤测序-第二十七期|《敲减通过控制TOP2A下调的NUSAP1可以抑制人胶质母细胞瘤的细胞增殖和侵袭》
  • Prometheus 笔记
  • Stable Diffusion之最全详解图解
  • 采用Spring Cloud +UniApp +MySql技术开发,SaaS模式的一套智慧工地云平台源码,支持多端展示:PC端、大屏端、手机端、平板端
  • 科普文:微服务之Spring Cloud Alibaba组件Nacos一致性协议Distro+Raft概叙
  • 下载qwen2-72b报错
  • uniapp 使用renderjs通信
  • vue设置每次加载页面时展示一个双开门效果
  • 芯感智最新流量传感器GF*000系列应用于医疗方向
  • IoTDB 入门教程 基础篇⑪——Data导入导出工具
  • 【个人向】《HTTP图解》阅后小结
  • axios请求、和返回数据拦截,统一请求报错提示_012
  • ES学习笔记(12)--Symbol
  • Hibernate最全面试题
  • HTML5新特性总结
  • Next.js之基础概念(二)
  • SpiderData 2019年2月16日 DApp数据排行榜
  • SQLServer之创建数据库快照
  • VirtualBox 安装过程中出现 Running VMs found 错误的解决过程
  • XML已死 ?
  • 对话:中国为什么有前途/ 写给中国的经济学
  • 分享一份非常强势的Android面试题
  • 关于for循环的简单归纳
  • 规范化安全开发 KOA 手脚架
  • 看域名解析域名安全对SEO的影响
  • 用简单代码看卷积组块发展
  • 教程:使用iPhone相机和openCV来完成3D重建(第一部分) ...
  • 摩拜创始人胡玮炜也彻底离开了,共享单车行业还有未来吗? ...
  • ​ 轻量应用服务器:亚马逊云科技打造全球领先的云计算解决方案
  • ​520就是要宠粉,你的心头书我买单
  • ​LeetCode解法汇总2696. 删除子串后的字符串最小长度
  • #调用传感器数据_Flink使用函数之监控传感器温度上升提醒
  • (01)ORB-SLAM2源码无死角解析-(56) 闭环线程→计算Sim3:理论推导(1)求解s,t
  • (1)svelte 教程:hello world
  • (C++17) std算法之执行策略 execution
  • (C语言)strcpy与strcpy详解,与模拟实现
  • (html转换)StringEscapeUtils类的转义与反转义方法
  • (Matalb时序预测)PSO-BP粒子群算法优化BP神经网络的多维时序回归预测
  • (python)数据结构---字典
  • (二)什么是Vite——Vite 和 Webpack 区别(冷启动)
  • (附源码)springboot人体健康检测微信小程序 毕业设计 012142
  • (十八)三元表达式和列表解析
  • (十六)串口UART
  • (算法二)滑动窗口
  • (转)微软牛津计划介绍——屌爆了的自然数据处理解决方案(人脸/语音识别,计算机视觉与语言理解)...
  • (轉貼) 寄發紅帖基本原則(教育部禮儀司頒布) (雜項)
  • .FileZilla的使用和主动模式被动模式介绍
  • .NET CF命令行调试器MDbg入门(四) Attaching to Processes
  • .NET 设计模式—简单工厂(Simple Factory Pattern)
  • .Net 知识杂记