docker打包java应用

假设我已经构建好了一个jar包

 

Dockerfile 内容

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

# 设置工作目录
WORKDIR /app

# 拷贝 jar 包到容器中
COPY credit-web.jar app.jar

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

# ENTRYPOINT ["java", "-Xms512m", "-Xmx512m", "-jar", "app.jar", "--spring.profiles.active=dev"]

  

打包命令

docker build -t credit-web:v0.0.1 .

  

加参数的Dockerfile

# 使用 OpenJDK1.8作为基础镜像
FROM eclipse-temurin:8-jdk-alpine

# 声明构建参数(无默认值)
ARG JAR_FILE

# 设置工作目录
WORKDIR /app

# 拷贝传入的 JAR 文件,并命名为 app.jar
COPY ${JAR_FILE} app.jar   # 构建时作为变量传入

COPY ebc-gateway-dev.yaml .

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

ENTRYPOINT ["java", "-Xms512m", "-Xmx512m", "-jar", "app.jar", "--spring.config.location=/app/ebc-gateway-dev.yaml", "--spring.profiles.active=dev", "--spring.cloud.nacos.server-addr=mse-7e6f2c50-p.nacos-ans.mse.aliyuncs.com:8848","--spring.application.name=ebc-gateway","--spring.cloud.nacos.discovery.namespace=zhangxiaozhao"]

 参数解释:

--spring.config.location=/app/ebc-gateway-dev.yaml   # 指定配置文件
--spring.profiles.active=dev   # 指定环境
--spring.cloud.nacos.server-addr=mse-7e6f2c50-p.nacos-ans.mse.aliyuncs.com:8848 # 指定nacos地址
--spring.application.name=ebc-gateway  # 指定应用名字
--spring.cloud.nacos.discovery.namespace=zhangxiaozhao # 指定命名空间ID

 

构建

docker build -t ebc-gateway:v004 --build-arg JAR_FILE=ebc-gateway.jar .

 

 

 

posted @ 2025-06-18 17:42  羊脂玉净瓶  阅读(15)  评论(0)    收藏  举报