minikube+docker desktop搭建k8s环境部署SpringBoot应用(仅仅是玩玩,端口映射很麻烦)

1)先运行起来DockerDesktop

2)下载地址

kubernetes/minikube: Run Kubernetes locally

3)创建2c4g的k8s集群

复制代码
minikube start --force --driver=docker --cpus=2 --memory=4096mb --base-image=registry.cn-hangzhou.aliyuncs.com/google_containers/kicbase:v0.0.44

4)检查k8s集群状态

复制代码
minikube.exe status

minikube
type: Control Plane
host: Running
kubelet: Running
apiserver: Running
kubeconfig: Configured

5)Dockerfile

复制代码
FROM maven:3.9.9-eclipse-temurin-17 AS build
WORKDIR /build
COPY pom.xml .
COPY settings.xml /root/.m2/settings.xml
RUN mvn -s /root/.m2/settings.xml -B -DskipTests dependency:go-offline
COPY src ./src
RUN mvn -s /root/.m2/settings.xml -B -DskipTests package

FROM eclipse-temurin:17-jre
WORKDIR /app
COPY --from=build /build/target/netty-game-server-0.0.1-SNAPSHOT.jar app.jar
EXPOSE 7000
ENTRYPOINT ["java", "-jar", "/app/app.jar"]

6)k8s下编写

deployment.ymal

复制代码
apiVersion: apps/v1
kind: Deployment
metadata:
  name: netty-game-server
  labels:
    app: netty-game-server
spec:
  replicas: 1
  selector:
    matchLabels:
      app: netty-game-server
  template:
    metadata:
      labels:
        app: netty-game-server
    spec:
      containers:
        - name: netty-game-server
          image: netty-game-server:0.0.1
          imagePullPolicy: IfNotPresent
          ports:
            - containerPort: 7000
              protocol: TCP
          readinessProbe:
            tcpSocket:
              port: 7000
            initialDelaySeconds: 5
            periodSeconds: 10
          livenessProbe:
            tcpSocket:
              port: 7000
            initialDelaySeconds: 15
            periodSeconds: 20

service.yaml

复制代码
apiVersion: v1
kind: Service
metadata:
  name: netty-game-server
spec:
  type: NodePort
  selector:
    app: netty-game-server
  ports:
    - name: tcp-game
      protocol: TCP
      port: 7000
      targetPort: 7000
      nodePort: 30700

7)部署

复制代码
minikube image build -t netty-game-server:0.0.1 .
kubectl apply -f k8s/deployment.yaml
kubectl apply -f k8s/service.yaml
kubectl get pods -l app=netty-game-server
kubectl get svc netty-game-server

8)打开UI界面查看当前minikube中运行了哪些应用

复制代码
minikube dashboard

9)查看日志

复制代码
PS C:\Users\Admin\Desktop> kubectl logs -f deploy/netty-game-server

  .   ____          _            __ _ _
 /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
 \\/  ___)| |_)| | | | | || (_| |  ) ) ) )
  '  |____| .__|_| |_|_| |_\__, | / / / /
 =========|_|==============|___/=/_/_/_/

 :: Spring Boot ::                (v3.3.5)

2026-04-01T14:09:26.032Z  INFO 1 --- [netty-game-server] [           main] c.e.g.NettyGameServerApplication         : Starting NettyGameServerApplication v0.0.1-SNAPSHOT using Java 17.0.18 with PID 1 (/app/app.jar started by root in /app)
2026-04-01T14:09:26.035Z  INFO 1 --- [netty-game-server] [           main] c.e.g.NettyGameServerApplication         : No active profile set, falling back to 1 default profile: "default"
2026-04-01T14:09:26.847Z  INFO 1 --- [netty-game-server] [           main] c.e.g.NettyGameServerApplication         : Started NettyGameServerApplication in 1.8 seconds (process running for 2.495)
2026-04-01T14:09:26.994Z  INFO 1 --- [netty-game-server] [           main] com.example.gameserver.NettyTcpServer    : Netty TCP game server started on port 7000
相关推荐
Decay__4 小时前
05_MySQL 常用 SQL 大全 —— 诊断、管理、优化辅助 SQL 与三大系统库速查
运维·数据库·sql·mysql·架构
贞明电子6 小时前
工业三色报警灯怎么接入项目系统?开关量与RS485控制应用指南
运维·网络·微信公众平台·贞明电子
万联WANFLOW7 小时前
海外网络故障怎么排查?Cloudflare 三季度断网报告解读与 mtr 实战
运维·网络·故障分析
Ruiery8 小时前
Linux 6.6内核内存管理深度解析(十三):slab/slub 分配器
linux·运维·服务器
Decay__10 小时前
04_MySQL DBA 日常运维手册 —— 会话管理、锁与阻塞、事务监控、慢查询与日志巡检
运维·数据库·sql·mysql·架构
江华森11 小时前
数据中心基础设施运维实战:概述与实验环境搭建
运维
迪菲赫尔曼11 小时前
【基础篇 11】把官方源码放到服务器:版本、解压层级和安装位置,一次弄清楚
运维·服务器·开发语言·人工智能·python·yolo·目标检测
by2099912 小时前
Linux GCC/G++ 编译与 Makefile 构建
linux·运维·服务器·经验分享
螺丝钉tina13 小时前
[Playwright][08] Upload 模块自动化:如何设计真实业务测试用例?
运维·自动化·测试用例
迪菲赫尔曼13 小时前
【基础篇 12】把环境与源码接起来:检查 GPU,再安装服务器上的项目
运维·服务器·开发语言·人工智能·python·yolo·目标检测