Spring boot转docker&docker简单使用和管理

K8S 部署 SpringBoot 项目(一篇够用) 所以对我而言,我要继续加倍努力,弥补自己技术上的不足,以及与科班大佬们基础上的差距。【idea @ 拍了拍我的iterm2 说】>>>>>> kubectl expose deployment springboot-k8s-template-deployment --type=NodePort。由于阿里云的镜像仓库需要用户账号密码权限访问,所以这里我们可以尝试简单一些的策略,登录minikube的内部,提前下载好对应的阿里云镜像。 阅读详情

我们前面学习了使用了Spring Boot,又发现了docker是如此的适合于微服务。那我们如何把Spring boot项目打包成docker镜像呢?


首先需要一个Spring boot项目。

打开命令行窗口,进入项目目录下,使用mvn package命令打包项目成jar包。


打包成功之后,可以在target目录下看到我们的项目jar包。

我们通过将jar打包成docker的方式来将Spring boot项目打包成docker镜像。


首先需要在操作系统中安装docker。博主的window中并没有docker,将jar包复制到虚拟机中。需要先安装好docker,这里不谈论过程了。

安装完成之后,然后我们需要编写一个Dockerfile文件:

Spring Boot官网推荐:

# 基础镜像
FROM frolvlad/alpine-oraclejdk8:slim

# VOLUME命令用于让你的容器访问宿主机上的目录。
VOLUME /tmp

# ADD命令有两个参数,源和目标。它的基本作用是从源系统的文件系统上复制文件到目标容器的文件系统。如果源是一个URL,那该URL的内容将被下载并复制到容器中。
ADD gs-spring-boot-docker-0.1.0.jar app.jar

# RUN命令是Dockerfile执行命令的核心部分。它接受命令作为参数并用于创建镜像。
RUN sh -c 'touch /app.jar'

ENV命令用于设置环境变量。这些变量以”key=value”的形式存在,并可以在容器内被脚本或者程序调用。
ENV JAVA_OPTS=""

# ENTRYPOINT 帮助你配置一个容器使之可执行化
ENTRYPOINT [ "sh", "-c", "java $JAVA_OPTS -Djava.security.egd=file:/dev/./urandom -jar /app.jar" ]

这里只需要将ADD中的gs-spring-boot-docker-0.1.0.jar改成自己的jar包名字即可。


将Dockerfile和jar放在同一目录下,命令行进入这个目录,使用命令:

docker build -t 镜像名字:版本 .
就可以创建对应的docker镜像了。

再使用命令

docker run -p 本地端口:docker中暴露的端口 -t 镜像名称:版本
看到Spring boot项目的运行过程就成功了。

可以尝试一下访问localhost:本地端口就可以成功访问到docker中运行的项目了。


不过这个时候我们的镜像还是在本地的,为了方便日后管理和使用,我们一般会把docker镜像上传到docker hub中。

docker hub官网:https://hub.docker.com/

1.注册docker hub账号

首先你需要一个Docker hub 帐号,记住username,password,email .后面在命令行验证登陆的时候需要用到,再下来需要创建一个仓库。

2.上传docker镜像

首先将镜像打个tag

docker tag <existing-image> <hub-user>/<repo-name>[:<tag>]
这里的tag缺省的话默认就是latest。

然后登陆docker hub

docker login
docker push 镜像到docker hub 的仓库

docker push <hub-user>/<repo-name>:<tag>
= =push需要的时间比较久。最好使用加速器进行上传。


前面一篇博客中提到,docker的编排是一个难以处理的问题,这里向大家介绍一下一种可视化的docker管理平台:Rancher。

官网:http://www.cnrancher.com/

使用Rancher,我们可以轻松的管理docker。当然docker的管理工具还有很多:Swarm,Kubernetes等等。不过初学者像我,可视化的平台比较简单入手吧。

申请创建项目的过程这里不赘述了。
将之前上传到docker hub的镜像放在Rancher中进行管理。

选择添加服务:


在镜像这里填写相应的镜像。格式:<hub-user>/<repo-name>:<tag>就可以。增加端口映射,就可以访问了


从时序博弈到数据稳定:CS1237驱动中的信号滤波与卡尔曼实践 本文探讨了CS1237高精度ADC驱动在复杂工业环境中的信号处理挑战,重点介绍了一阶滤波与自适应卡尔曼滤波算法的实践应用。通过参数优化和动态调整策略,有效提升了数据稳定性和抗干扰能力,为嵌入式系统在噪声环境下的精密测量提供了可靠解决方案。 阅读详情

相关推荐

LightGBM处理类别特征和缺失值有多省心?一个真实业务数据案例带你上手

本文通过真实电商数据案例,详细解析了LightGBM如何高效处理类别特征和缺失值。相比传统方法,LightGBM仅需一行代码即可自动处理高基数类别特征和缺失值,大幅提升模型训练效率和预测准确度,特别适合业务场景中的脏数据处理。

weixin_30689307的博客 460

k8s部署springboot项目

k8s部署springboot项目 本篇来演示一下 如何使用 k8s 来快速部署一个 springboot项目 ,体验一下 k8s和实际项目的结合 1.环境准备 操作系统:Centos7 (CentOS Linux release 7.9.2009) Master 主节点: 1台 虚拟机 Node 计算节点: 2台 虚拟机 K8s version:v1.23.5 (选的较新的版本) Docker version:20.10.14 环境和前面中 kubeadm 搭建 k8s 的一致 2.部

qq_34285557的博客 1万+

瑞芯微RK3576开发实战:固件烧录与内核启动的典型问题解析

本文详细解析了瑞芯微RK3576开发板在固件烧录与内核启动过程中遇到的典型问题及解决方案。从开发工具版本检查、DDR配置调整到内核启动异常的设备树适配和电源管理问题,提供了系统性的调试方法和实用技巧,帮助开发者高效解决RK3576开发中的常见挑战。

weixin_33700350的博客 455

从零开始把 SpringBoot 搬到 K8s 上运行,我用了这几步!

大家好,我是网管。咱们的K8s入门和实践,在经历了三篇理论知识的后,相信各位都已经期待许久(可能的吧),就差私信我,你整着理论整半天有啥用,本大人写的程序怎么能放到K8s上运行。别急,今天这篇文章就带你从写第一行代码开始,一步步教你把程序放到K8s跑起来。这次咱们先用SpringBoot开发的程序做个例子,后面再写一篇怎么把SpringBoot应用放到K8s上运行。讲完这篇SpringBoot应用上K8s的过程,咱们快速入门和实践这个短系列就算完结了。https。...

m0_67698950的博客 3358

10bit SAR ADC电路:200多页设计与仿真文档,附gpdk045工艺与testbench,可直接导入Virtuoso仿真,含以太网、PLL电路例程及进阶ADC

拥有超过200页的详细设计和仿真文档,它以gpdk045工艺为基础,testbench均可直接导入virtuoso仿真,为我们提供了一个全面了解ADC电路设计的绝佳机会。通过对10bit SAR ADC电路的详细解析,我们不仅了解了其设计背后的原理和实现方法,还体会到了数字与模拟技术的交融之美。这个SAR ADC的结构采用了经典的电荷重分配架构。一个10bit SAR ADC电路,有200多页详细的设计和仿真文档,附带对应的gpdk045工艺,testbench都有,可直接导入virtuoso仿真。

OMyAVKmGPBOF的博客 1333

基于轻量级神经网络MobileNet V2的水果识别种类算法研究

本文阐述了一种基于轻量级卷积神经网络MobileNet V2的水果分类与识别算法研究。为了最大限度地促进机械收获,需要一个检测系统,它可以让我们识别不同类别的水果。一个相对未开发的想法是使用深度学习和人工智能算法,不仅可以检测水果的种类,还可以检测水果是否成熟。这可以证明是有利可图的,因为它可以提供作物生长状况以及成熟和未成熟果实的个体数量,以及决定是否是收获时间的有用信息。第一步对数据进行了预处理,数据预处理技术在众多的深度学习计算中起到了重要作用。

qq_43556680的博客 1640

K8S 部署 SpringBoot 项目(一篇够用)

针对最近很多人都在面试,我这边也整理了相当多的面试专题资料,也有其他大厂的面经。希望可以帮助到大家。最新整理面试题上述的面试题答案都整理成文档笔记。也还整理了一些面试资料&最新2021收集的一些大厂的面试真题最新整理电子书最新整理大厂面试文档以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!” />针对最近很多人都在面试,我这边也整理了相当多的面试专题资料,也有其他大厂的面经。

2401_84046545的博客 3229

2026年03月CCF-GESP编程能力等级认证Scratch图形化编程一级真题解析

本文收录于《,订阅后可阅读专栏内所有文章。

人生就是一个不断学习的过程 238

Docker学习中文文档大全、docker&docker-compose实战

默认情况下redis官方镜像中没有redis.conf配置文件 需要去官网下载指定版本的配置文件wget http://download.redis.io/releases/redis-5.0.8.tar.gz 下载官方安装包将官方安装包中配置文件进行复制到宿主机指定目录中如 /root/redis/redis.conf文件修改需要自定义的配置bind 0.0.0.0 开启远程权限appenonly yes 开启aof持久化加载配置启动IK Analyzer 扩展配置。

2401_83916241的博客 1777

WEB浏览器视频流播放方案

基于Media Source Extensions播放视频流 浏览器播放视频的几种方法 一、H5 video标签 在浏览器播放视频,可以使用HTML5原生的video标签。但其播放的格式使用一定限制的,目前video只支持三种格式WebM、Ogg、MP4。 WebM:WebM 文件使用 VP8 视频编解码器和 Vorbis 音频编解码器 Ogg :Ogg 文件使用 Theora 视频编解码器和 Vorbis音频编解码器 MP4: MPEG 4文件使用 H264 视频编解码器和AAC音频编解码器 上面三种

machh的专栏 2381

双馈风机并网系统宽频振荡机理与抑制方法研究

双馈风机并网系统宽频振荡分析与抑制 摘要:本文研究了双馈风机(DFIG)接入弱电网引发的宽频振荡问题。通过建立DFIG并网系统阻抗模型,分析了锁相环带宽、电流环带宽等参数对阻抗特性的影响。研究揭示了DFIG与电网阻抗交互导致交截频率处相位差超过180°的振荡机理。提出基于锁相环优化的阻抗重塑抑制策略,采用电压补偿和陷波器改善系统稳定性。仿真结果表明,该方法能有效降低相位差约10°-168°,显著抑制宽频振荡。代码实现了阻抗建模、稳定性分析和抑制策略验证,为工程应用提供了理论依据。

huanghm88的专栏 319

Kubernetes(k8s)实战:Kubernetes(k8s)部署Springboot项目

在集群中,pod之间可以通过service 的name进行访问,不仅仅是ip,这就意味着,service中不仅帮我们做了负载均衡,而且做了dns处理。如上,加上hostNetwork: true,就会在nacos上注册的ip端口,会映射成宿主机的ip和端口。如果在同一个k8s集群下,这样部署是没问题的,但是不同k8s集群下,微服务之间就互相不可访问了。我们发现,搭建成功了,用浏览器访问192.168.56.101:30493,发现访问成功了!访问:http://localhost:8080/k8s。

秃了也弱了 5751

VTK API 详解(134):vtkOBJWriter - 写入 OBJ 模型

是 VTK 中用于将数据写入 Wavefront OBJ 文件格式的类。OBJ 格式是广泛支持的 3D 网格模型格式,支持顶点、面和基本几何信息的保存,便于模型在多种三维软件间交换。

yumeiguo的博客 140

实战SpringBoot Admin

长话短说哦,直接查看下文吧 目录 声明 先锋 前提 SpringBoot Admin 介绍 服务端的搭建 客户端的搭建 参数的指南 尾声 声明 见名知意,实战SpringBoot Admin,实战!实战!实战!该文章环绕SpringBoot Admin的重点功能(邮件通知、可视化)来讲解。 先锋 在写该文章之前,我也是查阅了一些关于SpringBoot Admin的文章的,一言难尽,不太理想啊(无法

ZZ100861122的博客 683

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

Docker环境下使用SpringBootAdmin2.x教程

Spring Boot Admin 2.x是一个用于监测管理微服务应用的程序,通过Eureka注册中心发现服务,然后获取服务的运行状态、日志信息、并提供一套UI界面供系统运维人员检查,同时结合Spring Security进行登录权限认证 首先上完整的Github项目代码: liumapp/spring-boot-admin-in-docker 然后是完整的Wiki文档: 使用文档 所需依赖 ...

weixin_34216107的博客 1877

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

Spring Boot配置docker-maven-plugin实现构建与推送镜像(Dockerfile)

【代码】Spring Boot配置docker-maven-plugin实现构建与推送镜像。

z69183787的专栏 2664

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

k8s部署SpringBoot项目

一、前言 本文将介绍如何通过CICD将SpringBoot框架的Web项目发布到k8s集群中,文章中有使用到eureka的注册,如果对如何在k8s集群中部署eureka,那么可以参考本人的 k8s部署eureka集群 文章。如果只是为了测试部署Web服务到k8s集群中,那么你们可以自己搭建项目时,忽略eureka的相关依赖和配置 二、k8s知识点介绍 1、Deployment Deployment是最常用的用于部署无状态服务的方式。Deployment控制器使得您能够以声明的方式更新 Pod(容器组

阿靖的博客 3166

Spring Boot 应用的 Docker 化:从 Maven 构建到 Docker 部署的完整指南

总的来说,这一套 Docker 化的流程不仅降低了部署复杂性,还提升了效率,为在不同环境中部署应用提供了极大便利。这对于追求快速、可靠且一致的软件部署流程的现代开发团队来说,是一种至关重要的实践。脚本复制到指定的输出目录。这样做的好处是,你可以确保在最终的发版物中包含了这些对于部署和管理 Docker 容器至关重要的文件,实现了项目的一体化管理。这个插件允许我们在 Maven 的构建过程中复制和处理资源文件。)以及 Dockerfile 与 Maven 打包工具集成,我们可以利用 Maven 的。

编码行者的博客 3173

k8s部署springboot

首先以SpringBoot应用为例介绍一下k8s的部署步骤。1.从代码仓库下载代码,比如GitLab;2.接着是进行打包,比如使用Maven;3.编写Dockerfile文件,把步骤2产生的包制作成镜像;4.上传步骤3的镜像到远程仓库,比如Harhor;5.编写Deployment文件;6.提交Deployment文件到k8s集群;

huashetianzu的专栏 2155

K8s部署springboot

1 Docker部署SpringBoot 1.1 部署 (1) springboot项目概述 (2) 打成jar包 (3) 上传至Docker服务器,制作Dockerfile FROM java:8 ADD springboot-web-1.0-SNAPSHOT.jar app.jar RUN /bin/cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime RUN echo "Asia/Shanghai" > /etc/timezone RUN b

m0_67392273的博客 1740

将Springboot项目部署到docker

将springboot项目部署到docker,需要安装docker,jdk,maven。并通过在pom添加插件,添加DockerFile文件和通过mvn命令去打包,生成镜像,最后通过docker命令生成容器

m0_63975764的博客 2177
上一篇: Docker与微服务
下一篇: JavaMail实现简单邮箱验证——163邮箱
a60782885
博客等级 码龄11年 97粉丝 67原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值