ZBLOG

不能通过这种方式指定吗 -Dserver.port=${SERVER_PORT}

是的,你可以通过在 ENTRYPOINT 命令中使用 -Dserver.port=${SERVER_PORT} 的方式来指定 Spring Boot 项目的端口号。这样做需要修改 Dockerfile 中的 ENTRYPOINT 指令:

FROM openjdk:8-jdk-alpine

ARG JAR_FILE=target/*.jar
COPY ${JAR_FILE} app.jar

# 设置环境变量 SERVER_PORT,默认为 8080
ENV SERVER_PORT=8080

# 暴露容器端口
EXPOSE $SERVER_PORT

ENTRYPOINT ["java","-Dserver.port=${SERVER_PORT}","-jar","/app.jar"]

这里使用了 ${SERVER_PORT} 占位符,该占位符会被 Docker 容器运行时的环境变量替换掉。

同样地,在构建镜像时也需要通过 --build-arg 参数传递 SERVER_PORT 的值,例如:

docker build -t my-spring-boot-app --build-arg SERVER_PORT=8888 .

本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
转载请注明出处:https://golang.0voice.com/?id=5390

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
游客 游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~

联系我们

在线咨询: 点击这里给我发消息

微信号:3007537140

上班时间: 10:30-22:30

关注我们
x

注册

已经有帐号?