您的位置 首页 kubesphere

kubesphere部署 微服务之jar包 dockerfile

kubesphere部署 微服务

https://gitee.com/wang-huamao/RuoYi-Cloud.git

 

 

先来构建 auth 服务

# 基础镜像
FROM  openjdk:8-jre
# author
MAINTAINER ruoyi

# 挂载目录
VOLUME /home/ruoyi
# 创建目录
RUN mkdir -p /home/ruoyi
# 指定路径
WORKDIR /home/ruoyi
# 复制jar文件到路径
COPY ./jar/ruoyi-auth.jar /home/ruoyi/ruoyi-auth.jar
# 启动认证服务
ENTRYPOINT ["java","-jar","ruoyi-auth.jar"]

 

这个镜像 用的的jre ,为了方便排错,我们最好用 jdk 版本,如下:

我还要加一些 额外的启动命令 ${PARAMS}

FROM openjdk:8-jdk
LABEL maintainer=leifengyang


#docker run -e PARAMS="--server.port 9090"
ENV PARAMS="--server.port=8080 --spring.profiles.active=prod --spring.cloud.nacos.discovery.server-addr=xiaoka-nacos.xiaoka:8848 --spring.cloud.nacos.config.server-addr=his-nacos.his:8848 --spring.cloud.nacos.config.namespace=prod --spring.cloud.nacos.config.file-extension=yml"
RUN /bin/cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo 'Asia/Shanghai' >/etc/timezone

COPY target/*.jar /app.jar
EXPOSE 8080

#
ENTRYPOINT ["/bin/sh","-c","java -Dfile.encoding=utf8 -Djava.security.egd=file:/dev/./urandom -jar app.jar ${PARAMS}"]

注意: 我复制了 时区, 就算不勾选 同步主机时间, 也没有问题的。

spring.cloud.nacos.discovery.server-addr 这个地址 s是你自己 k8s上的地址 ,内部地址:

xiaoka-nacos.xiaoka

 

规则:
1、容器默认以8080端口启动
2、时间为CST
3、环境变量 PARAMS 可以动态指定配置文件中任意的值
4、nacos集群内地址为  his-nacos.his:8848 
5、微服务默认启动加载 nacos中   服务名-激活的环境.yml  文件,所以线上的配置可以全部写在nacos中。

 

然后 端口我们都设置为 8080 ,因为在K8S 上是 POD ,每个对应的都是单独的ip:8080

这样在生产环境下,都用8080是没问题的,就相当于 每个pod 就是一台 独立的linux主机。

 

    # 应用上云打包镜像启动会自动激活生产环境 spring.profiles.active=prod: 去nacos中找 ruoyi-auth-prod.yml

 

 

 

接下来我们要做的就是 生产环境的配置抽离

(1)首先在nacos 里创建一个命名空间

我们把开发环境的配置 复制一份到 生产环境。 因为我们修改 生产环境的地址。

 

这样应用启动,也会加载 生产环境的配置了。

然后再项目中添加一个 Dockerfile 文件。

 

(1) 打包jar

选中 clean +  package

 

运行中如果  解决方案 SpringBoot Maven RepackageMojo 打包失败原因 

 

打包后, 我们来检查一下自己的包是不是有问题:

先本地启动一下 nacos:

D:\tools\nacos\nacos-server-2.2.0\nacos\bin
startup.cmd -m standalone

然后启动我们的应用:

C:\Users\71574\Desktop\tmp\1\ruoyi-images

 java -jar .\ruoyi-auth.jar

这里会报错

正确的方法:

java -Dfile.encoding=utf-8 -jar  C:\Users\71574\Desktop\tmp\1\ruoyi-images\ruoyi-auth.jar

 

这样就没问题了

其他的微服务都是这样的。

 

ok
进入 docker 镜像制作流程

kubesphere部署 微服务之 docker 镜像制作流程  :  链接

 

ruoyi 上云部署 

 

 

 

 

https://www.kubesphere.io/zh/learn/level_4/lesson_19/video/

https://www.kubesphere.io/zh/learn/level_4/lesson_20/video/

欢迎来撩 : 汇总all

白眉大叔

关于白眉大叔linux云计算: 白眉大叔

热门文章