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

win10下使用docker、k8s部署java应用

在上一篇文章 Windows10上Docker和Kubernetes的安装 中,已经介绍了在 Windows10上安装Docker和Kubernetes ,有了这个环境基础之后,就可以用来部署服务了

在项目目录下新建Dockfile文件,内容如下(请根据实际情况调整):

##指定java8环境镜像FROM openjdk:8-jre-alpine##复制文件到容器money_note
ADD target/spring-vertx-mybatis.jar /spring-vertx-mybatis.jar##声明启动端口
EXPOSE 9999##配置容器启动后执行命令
ENTRYPOINT ["java","-jar","/spring-vertx-mybatis.jar"]

然后在Dockfile文件的目录下,本地构建镜像文件:

docker build -t spring-vertx-mybatis:1.0.0

一、docker方式运行java服务
 

docker run --name spring-vertx-mybatis -d  -p 9999:9999  spring-vertx-mybatis:1.0.0


二、k8s方式运行java服务

docker build -t spring-vertx-mybatis:1.0.0kubectl create namespace api

新建用于部署的yaml文件:

mkdir deployment-spring-vertx-mybatis.yaml
vi deployment-spring-vertx-mybatis.yaml

yaml文件内容如下: 

apiVersion: apps/v1 # kubernetes API版本号
kind: Deployment # 资源类型:Deployment
metadata:name: spring-vertx-mybatis # 资源的名字,在同一个namespace中必须唯一namespace: api    #必选,Pod所属的命名空间
spec:selector:matchLabels:app: spring-vertx-mybatis # 使用标签选择器replicas: 3 # 设置副本数为3个template:metadata:labels:app: spring-vertx-mybatis # 标记 Pod 的标签spec:containers:- name: spring-vertx-mybatis # 容器名称image: spring-vertx-mybatis:1.0.0 # 指定容器镜像ports:- containerPort: 8080 # 开放端口号
---
apiVersion: v1 # kubernetes API版本
kind: Service # 资源类型:Service
metadata:name: spring-vertx-mybatis # 资源名称
spec:type: LoadBalancer # 暴露 Service 的类型为 LoadBalancer,通过外部负载均衡器访问ports:- port: 9999 # 容器对外的端口号targetPort: 9999 # 容器内的实际端口号protocol: TCP # 暴露的协议为TCPselector:app: spring-vertx-mybatis # 标记应用程序的标签# 干货!K8S之yaml文件详解 https://blog.csdn.net/ichen820/article/details/117567137
# K8S中 yaml 文件详解   https://blog.csdn.net/kele_baba/article/details/119876397
kubectl apply -f  deployment-spring-vertx-mybatis.yamlkubectl get pods -n api

参考文档:

Kubernetes 集群上的部署JAVA 步骤

 干货!K8S之yaml文件详解 https://blog.csdn.net/ichen820/article/details/117567137
 K8S中 yaml 文件详解   https://blog.csdn.net/kele_baba/article/details/119876397

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 【HTML元素居中】元素水平垂直居中的常用方法
  • ‌内网穿透技术‌总结
  • Python知识点:使用Cython进行Python性能优化
  • VSCode 离线安装中文语言包
  • 基于springboot+vue超市管理系统
  • Sharding-Jdbc+Mybatis+SpringBoot的分库分表实现
  • Vue学习记录之六(组件实战及BEM框架了解)
  • STM32巡回研讨会总结(2024)
  • [000-01-008].第05节:OpenFeign特性-重试机制
  • LeetCode题练习与总结: 数字 1 的个数--233
  • Resnet50网络——口腔癌病变识别
  • 在HTML中添加视频
  • Dell PowerEdge 网络恢复笔记
  • 胤娲科技:谷歌DeepMind祭出蛋白质设计新AI——癌症治疗迎来曙光
  • Thymeleaf
  • 《剑指offer》分解让复杂问题更简单
  • 【译】理解JavaScript:new 关键字
  • css布局,左右固定中间自适应实现
  • Java 11 发布计划来了,已确定 3个 新特性!!
  • k8s如何管理Pod
  • Logstash 参考指南(目录)
  • Puppeteer:浏览器控制器
  • React系列之 Redux 架构模式
  • Sass Day-01
  • Shadow DOM 内部构造及如何构建独立组件
  • UMLCHINA 首席专家潘加宇鼎力推荐
  • vue总结
  • 包装类对象
  • 初识MongoDB分片
  • 给第三方使用接口的 URL 签名实现
  • 机器学习学习笔记一
  • 如何利用MongoDB打造TOP榜小程序
  • 使用SAX解析XML
  • 延迟脚本的方式
  • ​VRRP 虚拟路由冗余协议(华为)
  • # Apache SeaTunnel 究竟是什么?
  • #565. 查找之大编号
  • #stm32整理(一)flash读写
  • #我与Java虚拟机的故事#连载14:挑战高薪面试必看
  • (1)(1.13) SiK无线电高级配置(五)
  • (C语言)球球大作战
  • (function(){})()的分步解析
  • (PySpark)RDD实验实战——取最大数出现的次数
  • (pytorch进阶之路)CLIP模型 实现图像多模态检索任务
  • (十三)Flask之特殊装饰器详解
  • (算法设计与分析)第一章算法概述-习题
  • (轉貼)《OOD启思录》:61条面向对象设计的经验原则 (OO)
  • .net 7 上传文件踩坑
  • .NET Core日志内容详解,详解不同日志级别的区别和有关日志记录的实用工具和第三方库详解与示例
  • .NET Framework 4.6.2改进了WPF和安全性
  • .NET MAUI Sqlite数据库操作(二)异步初始化方法
  • .Net MVC4 上传大文件,并保存表单
  • .Net mvc总结
  • .Net Web项目创建比较不错的参考文章
  • .Net 应用中使用dot trace进行性能诊断