专业的编程技术博客社区

网站首页 > 博客文章 正文

Java Dockerfile 最佳实践分享(java docker部署)

baijin 2024-09-23 03:51:32 博客文章 4 ℃ 0 评论

Dockerfile

FROM maven:3.5.0-jdk-8-alpine AS builder
 
ADD ./pom.xml pom.xml
ADD ./src src/
 
RUN mvn clean package
 
From openjdk:8-jre-alpine
 
COPY --from=builder target/web-site-1.0.jar  web-site-1.0.jar
 
EXPOSE 8080
 
CMD ["java", "-jar", "-Xmx2048m","-Xms2048m", "web-site-1.0.jar", "--server.port=8080", "--use_proxy=false"]

针对Java这类的编译型语言,使用Dockerfile多阶段构建,具有以下优势:

  • 保证构建镜像的安全性
  • 当您使用Dockerfile多阶段构建镜像时,需要在第一阶段选择合适的编译时基础镜像,进行代码拷贝、项目依赖下载、编译、测试、打包流程。在第二阶段选择合适的运行时基础镜像,拷贝基础阶段生成的运行时依赖文件。最终构建的镜像将不包含任何源代码信息。
  • 优化镜像的层数和体积
  • 构建的镜像仅包含基础镜像和编译制品,镜像层数少,镜像文件体积小。
  • 提升构建速度
  • 使用构建工具(Docker、Buildkit等),可以并发执行多个构建流程,缩短构建耗时。

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表