背景

我们使用springboot 打成的jar构建docker镜像上传到barbor镜像库之后,如果镜像中的参数发生了变化(springboot application.properties中的启动参数变更),比如mysql的地址变更了。不必修改配置文件,重新打包上传,修改k8s容器启动配置文件,重新启动容器即可

Docker file如下:

FROM harbor.ht.com/micro-service/openjdk:8-jre
MAINTAINER xxx xxx@imooc.com

COPY target/course-dubbo-service-1.0-SNAPSHOT.jar /course-service.jar

ENTRYPOINT ["java", "-jar", "/course-service.jar"]

在springboot中 jar 启动时修改配置文件中的参数,通过 "--key=value"这种形式,在k8s中通过args参数给容器添加运行时参数,这样我们就修改了容器中项目的mysql和zookeeper的地址。原来容器中的启动命令“java -jar /course-service.jar” 就变成了“java -jar /course-service.jar --key1=value1 --key2=value2”这个样子

通过以下命令强制重启pod

kubectl replace --force -f course-service.yaml

 

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐