java服务镜像构建

公司计划把业务迁移到k8s中(java开发的微服务,目前是以直接运行的jar包),最近在研究k8s的一些基本知识,先记录一下镜像的构建。

1. 构建java服务镜像 

说明:Dockerfile和xxxx.jar包在同一目录下,构建上下文即为当前目录。

直接贴Dockerfile内容,如下:

# 使用 OpenJDK 17 作为基础镜像
FROM eclipse-temurin:17-jdk-alpine

# 配置时区
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo "Asia/Shanghai" > /etc/timezone

# 设置工作目录
WORKDIR /app

# 拷贝 jar 包到容器中
COPY xxxx.jar app.jar

# 设置容器启动时的命令
ENTRYPOINT ["java", "-Xms512m", "-Xmx512m", "-jar", "app.jar"]

# 设置更多的启动参数
# ENTRYPOINT ["java", "-Xms512m", "-Xmx512m", "-jar", "app.jar", "--spring.profiles.active=dev" , # "--spring.config.location=/app/config/application.yml"] # 这里说明一下,ENTRYPOINT 可以加启动参数,也可以不加,如果不加 --spring.profiles.active=dev 和 # --spring.config.location=/app/config/application.yml 关于配置文件,还有另外一种写法: --spring.config.location=file:/app/config/application.yml (推荐写法)

追加配置
--spring.config.additional-location=/app/application.yaml
 

如果是用rancher管理k8s集群,启动参数可以在rancher的管理界面添加,如下:

不管有多少启动参数,都填在参数栏即可,以空格分隔

前提是要把需要的配置文件挂载在容器中【先创建configmap,再创建volume,然后挂载volume到pod中】

posted @ 2025-06-27 16:27  羊脂玉净瓶  阅读(36)  评论(4)    收藏  举报