Dockerfile 参数管理

背景:

我要把6个jar包都打进docker镜像,我的Dockerfile如下:

以ebc-gateway.jar 包为例:

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

# 设置工作目录
WORKDIR /app

# 拷贝 jar 包到容器中
COPY ebc-gateway.jar app.jar

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

我6个jar包,只需要每次把ebc-gateway.jar换成其它的jar包名字就行了,但是我觉得有点繁琐,能不能把jar包名字作为参数传递进去呢?可以的。

先来看Dockerfile怎么写

 

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

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

# 设置工作目录
WORKDIR /app

# 拷贝传入的 JAR 文件,并命名为 app.jar
COPY ${JAR_FILE} app.jar

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

构建

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

每次构建,只要把ebc-gateway.jar换成对应的jar包名字就行了。

 

 
posted @ 2025-07-02 14:21  羊脂玉净瓶  阅读(5)  评论(0)    收藏  举报