【Spring Cloud】Deployment

Spring Cloud 应用

apply plugin: 'org.springframework.boot'

//默认行为
bootJar {
	enabled = true
}
jar {
	enabled = true
}

执行

./gradlew clean build

构建普通jar包(用于被其他服务依赖)和bootJar包

Dockerfile

# 选择轻量级基础镜像(推荐)
FROM eclipse-temurin:17.0.15_6-jre-ubi9-minimal

# 设置工作目录
WORKDIR /app

# 复制JAR文件到容器
COPY build/libs/gateway.jar app.jar

# 暴露服务端口(与实际端口一致)
EXPOSE 8080

# 启动命令
ENTRYPOINT ["java", "-jar", "app.jar"]

Nginx

Dockerfile

FROM nginx:stable-alpine

RUN rm /etc/nginx/conf.d/default.conf
COPY nginx.conf /etc/nginx/conf.d/

COPY dist/ /usr/share/nginx/html/

EXPOSE 80
CMD ["nginx", "-g", "daemon off;"]

nginx.conf

server {
  listen 80;
  server_name localhost;
  
  location / {
    root /usr/share/nginx/html;
    index index.html;
    try_files $uri $uri/ /index.html;
  }
  
  error_page 500 502 503 504 /50x.html;
  location = /50x.html {
    root /usr/share/nginx/html;
  }
}

Minikube

可能存在网络问题,在 Docker Desktop 提前拉取镜像后

minikube start --driver=docker \
--base-image="kicbase/stable:v0.0.45" --memory=7500mb --cpus=4
#!/bin/bash
kubectl apply -f k8s/namespace.yaml
kubectl apply -f k8s/volumes/
kubectl apply -f k8s/config/
kubectl apply -f k8s/infra/
kubectl apply -f k8s/backend/
kubectl apply -f k8s/frontend/

查看pod

kubectl get pods -n postopia

查看deployment

kubectl get deployments -n postopia

查看原因

kubectl describe pod mysql -n postopia kubectl describe svc nacos -n postopia kubectl describe pod nacos -n postopia

kubectl describe pod user-service -n postopia

kubectl describe pod nacos-5bb4c6c67b-4gp4q -n postopia

查看 logs

kubectl logs -l app=mysql -n postopia

kubectl logs -l app=gateway -n postopia

kubectl logs -l app=comment-service -n postopia

kubectl logs -f comment-service-664bdb7c6d-x4trv -n postopia

kubectl logs -f space-service-577f84bfcc-x2vl5 -n postopia kubectl logs mysql-*

kubectl logs -f gateway-59bd97c779-x664w -n postopia

kubectl logs -n postopia -f user-service-67c8888fc7-7dcvq 查看上次崩溃前日志 kubectl logs -f mysql-697cc894c9-stzql -n postopia —previous

kubectl logs -f mysql-5656bc586-nktt5 -n postopia –previous

kubectl logs -f mysql -n postopia

kubectl logs -f nacos-54b76d5dcc-mrgkd -n postopia –previous

查看环境变量

kubectl exec -it comment-service-664bdb7c6d-x4trv -n postopia – env | grep REDIS_HOST

查看目录

kubectl exec -it mysql-697cc894c9-stzql -n postopia – ls /var/run/mysqld/

重启 Deployment

kubectl rollout restart -n postopia deployment/

kubectl rollout restart deployment/nacos -n postopia

kubectl rollout restart -n postopia deployment/user-service

kubectl rollout restart deployment/comment -n postopia

构建镜像

eval $(minikube docker-env)

docker build -t postopia-nacos-mysql:latest ./nacos-mysql docker build -t postopia-es:latest ./elastic-search # Build application services

docker build -t postopia-gateway:latest ./gateway docker build -t postopia-user:latest ./user-service docker build -t postopia-space:latest ./space-service docker build -t postopia-post:latest ./post-service docker build -t postopia-comment:latest ./comment-service docker build -t postopia-message:latest ./message-service docker build -t postopia-vote:latest ./vote-service docker build -t postopia-opinion:latest ./opinion-service docker build -t postopia-search:latest ./search-service

加载镜像

minikube image load

Server

Kubernetes

to be continued

docker-compose -f compose-test.yaml up -d user-service

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCutl60XhY0VKswZUESzBt3AdgqvPlNSIxJNbaSODfoUZwTsiioajG3II5mH0k9VKm6H8DYT0qwMrR2AieAVh1DOFJ1XN/vjSNXGOiF5mHkwui/nrU4bE8m6jg3AMKTPW2jpSSBh0zYstMeK50rLVu83Tt3sI7okMfTL9yATIwb+nGTsKyjEOmgG4909R88IrVJ6zuF0X0F/d5k8RoswO2i8BlOoM5jG0Jtla1fOj+w+B1AGNt0m1FXaLVjlk1sBYwM29qbBJzeET3BzHo17Q49kDfgzH/FpgIlEZordyoNc8pGx0WVp6OQtqlvq9+FF2/sYWQjsInjNSh8+PtYdv0upTiVgpG/Bx5xBuJIMrEqFXSTFcSH3sdr+rmZDIfc/V+vWaBa7D564CBH33WXZh2WkizOY+3VFhK7IDp6r3d6XkJPdUHI+orKfGFWUdnEFX/sDMn4jX/6vmE4muYxbwRniFZ1u17vgZCFwnhfNeSIIEOH+6dsQXztP6bN/761KUtOs2ST+LFNpw9mO+RPL4v2cIPqNNaqZ7Dufoy4/RlC2RbMIOGryFG+73JxmKeVwyiK2bFK0IAgV386BVunuhV0GLuBmjODa//c1KWDoKpTR1qJ0tduzlMvGN8uUuOnADZDrupUlmkwh6zx3xUHCdtWk1E917TjwZdy0sq2IqCy3Q== github-actions action@github

Licensed under CC BY-NC-SA 4.0
Last updated on Jun 20, 2025 20:39 CST
comments powered by Disqus
Built with Hugo
Theme Stack designed by Jimmy