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

news2024/9/21 2:39:13

描述

将本地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

在这里插入图片描述

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

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

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

相关文章

手写高斯牛顿求解非线性最小二乘问题

容易写错的地方: 注意你的residual定义是 z-h(x), 还是 h(x) - z,这会影响到Hxb的符号。(自己推一遍就知道了),我的习惯性定义是z-h(x) class GaussianNewtonOptimizer {// Observation: [x, y]// y std…

C语言 | Leetcode C语言题解之第318题最大单词长度乘积

题目&#xff1a; 题解&#xff1a; int maxProduct(char ** words, int wordsSize){int masks[wordsSize];memset(masks, 0, sizeof(masks));for(int i 0; i < wordsSize; i) {int len strlen(words[i]);for(int j 0; j < len; j) {masks[i] | 1 << (words[i]…

LabVIEW在DCS中的优势

DCS&#xff08;Distributed Control System&#xff0c;分布式控制系统&#xff09;是一种用于工业过程控制的自动化系统。它将控制任务分散到多个控制单元中&#xff0c;通过网络连接和协调这些单元来实现对整个过程的监控和控制。DCS通常用于大型工业设施&#xff0c;如化工…

GDB代码调试---实战版

一、GDB (1)GDB是什么 GDB&#xff08;GNU Debugger&#xff09;是一个功能强大的调试器&#xff0c;它可以用来帮助你查看另一个程序在执行时“内部”发生了什么。你可以使用GDB来执行你的程序&#xff0c;设置断点&#xff08;在某一行停止执行&#xff09;&#xff0c;在程…

【C++】模版初阶+STL简介

&#x1f680;个人主页&#xff1a;奋斗的小羊 &#x1f680;所属专栏&#xff1a;C 很荣幸您能阅读我的文章&#xff0c;诚请评论指点&#xff0c;欢迎欢迎 ~ 目录 前言&#x1f4a5;1、函数模版&#x1f4a5;1.1 函数模板概念&#x1f4a5;1.2 函数模板格式&#x1f4a5;1…

pydal,一个实用的 Python 库!

更多资料获取 &#x1f4da; 个人网站&#xff1a;ipengtao.com 大家好&#xff0c;今天为大家分享一个实用的 Python 库 - pydal。 Github地址&#xff1a;https://github.com/web2py/pydal/ 在现代应用开发中&#xff0c;数据库操作是一个核心部分。为了简化与数据库的交互…

支持 ESXi 8.0 的第 14 代 Intel 酷睿处理器选购参考

Intel 最新发布的第 14 代酷睿处理器全面支持 ESXi 8.0 支持 ESXi 8.0 的第 14 代 Intel 酷睿处理器选购参考 请访问原文链接&#xff1a;https://sysin.org/blog/intel-core-14th-gen-cpu-for-esxi/&#xff0c;查看最新版。原创作品&#xff0c;转载请保留出处。 Intel 最新…

AI大模型在数据治理中的应用

目前&#xff0c;企业的数据治理工作以人工实施为主&#xff0c;其中一些重复性较强的工作&#xff0c;如&#xff1a;数据标准制定和映射、元数据信息完善、数据目录挂载等&#xff0c;需要消耗大量的人力和时间成本&#xff0c;这给本来就难以量化业务价值的治理工作的顺利推…

[Java]面向对象

快速入门 计算机的核心作用就是处理数据, 变量用来存储单个数据, 数组用来储存一批数据, 对象用来存储一类数据 什么是对象: 对象就是一种特殊的数据结构, 在java中万物皆对象 面相对象编程的好处: 更加符合人类思维习惯 类和实例对象 在java中必须先设计类, 才能根据类创…

Python基本命令、函数、以及小项目

目录 1.基本操作 1.1 例子 1.2 输出结果 2.数据结构 2.1 例子 2.2 输出结果 3.字符串操作 3.1 例子 3.2 输出结果 4.文件操作 4.1 例子 4.2 输出结果 5.数学操作 5.1 例子 5.2 输出结果 6.模块导入 6.1 例子 6.2 输出结果 7.控制结构 7.1例子 输出结果 7…

Flink-StarRocks详解:第五部分查询数据湖(第55天)

系列文章目录 4.查询数据湖 4.1 Catalog 4.1.1 概述 4.1.1.1 基本概念 4.1.1.2 Catalog 4.1.1.3 访问Catalog 4.1.2 Default catalog 4.1.3 External Catalog 4.2 文件外部表 4.2.1 使用限制 4.2.2 开源版本语法 4.2.3 阿里云版本 5. 查询及优化 文章目录 系列文章目录前言4.查…

Java(十一)——内部类、成员内部类、静态内部类、局部内部类、匿名内部类

个人简介 &#x1f440;个人主页&#xff1a; 前端杂货铺 ⚡开源项目&#xff1a; rich-vue3 &#xff08;基于 Vue3 TS Pinia Element Plus Spring全家桶 MySQL&#xff09; &#x1f64b;‍♂️学习方向&#xff1a; 主攻前端方向&#xff0c;正逐渐往全干发展 &#x1…

操作系统原理:程序、进程、线程的概念

文章目录 程序、进程、线程的概念程序&#xff08;Program&#xff09;进程&#xff08;Process&#xff09;线程&#xff08;Thread&#xff09;关系总结 在日常对操作系统的使用中&#xff0c;大家肯定对程序、进程和线程多少有所耳闻。作为操作系统的重要一部分&#xff0c;…

ROM修改进阶教程------修改自己适配的rom固件 禁止第三方修改 删除自定文件或app后自动重启的步骤解析

很多适配第三方系统的资深作者。都会在rom中加入一些防止他人任意修改的脚本。这种操作主要避免盗包的行为。而且前期有在rom中加入联网锁定id格式化分区的恶意操作。今天主要解析一种删除自带文件后重启手机后会反复重启的脚本步骤。 通过博文步骤可以初步了解; 1----了解删…

CAPL代码中判断网络是CAN还是CANFD

&#x1f345; 我是蚂蚁小兵&#xff0c;专注于车载诊断领域&#xff0c;尤其擅长于对CANoe工具的使用&#x1f345; 寻找组织 &#xff0c;答疑解惑&#xff0c;摸鱼聊天&#xff0c;博客源码&#xff0c;点击加入&#x1f449;【相亲相爱一家人】&#x1f345; 玩转CANoe&…

ardupilot开发 --- 网络技术综述 篇

不信人间有白头 一些概念参考文献 一些概念 以太网、局域网、互联网 以太网(Ethernet)&#xff0c;是一种计算机局域网技术。以太网是一种有线网络技术&#xff0c;网络传输介质包括&#xff1a;以太网电缆&#xff0c;如常见的双绞线、光纤等。根据传输速度&#xff0c;可以氛…

2024107读书笔记|《火车快开(李娟诗集)》——我轰然经过你的生命,又悄然退却,你从不曾爱过我,你只爱我在你的生命中坠落

《火车快开&#xff08;李娟诗集&#xff09;》—— 文前第一部分 荒野碎片第二部分 弯路第三部分 告别 《火车快开&#xff08;李娟诗集&#xff09;》作者李娟&#xff0c;看的她的第一本书是《记一忘二三》&#xff0c;前段时间《我的阿勒泰》超级火&#xff0c;但我终于还是…

Codeforces Round 962 (Div. 3) A~F

A.Legs&#xff08;贪心&#xff09; 题意&#xff1a; 农夫约翰的农场又迎来了美好的一天。 农夫约翰来到农场后&#xff0c;数了数共 n n n条腿。众所周知&#xff0c;农场里只住着鸡和牛&#xff0c;一只鸡有 2 2 2条腿&#xff0c;而一头牛有 4 4 4条腿。 假设约翰农场…

Shell编程 --基础语法(1)

文章目录 Shell编程基础语法变量定义变量使用变量命令的使用只读变量删除变量 传递参数字符串获取字符串长度字符串截取 数组定义方式关联数组获取数组的长度 总结 Shell编程 Shell是一种程序设计语言。作为命令语言&#xff0c;它交互式解释和执行用户输入的命令或者自动地解…

数论——裴蜀定理、欧几里得算法、扩展欧几里得算法、逆元以及求解

裴蜀定理 若整数 a、b 互质&#xff08;最大公约数为 1&#xff09;&#xff0c;则存在整数 x、y &#xff0c;使得 ax by 1 。 更一般的情况是&#xff1a;设 a、b 是不全为零的整数&#xff0c;则存在整数 x、y &#xff0c;使得 ax by gcd(a, b) &#xff0c;其中 gcd…