我有以下 dockerfile 代码,但是超过 500mb 的图像太大了。我尝试使用多阶段构建以减小大小,但之后 kubernetes 部署将无法工作。
FROM openjdk:8
ADD target/name_id.jar name_id.jar
EXPOSE 8080
ENTRYPOINT [ "java","-jar","name_id.jar" ]
有了这个文件就可以了。有人能帮我吗? 对于项目本身,使用了 maven 和 springboot。如果我更改代码中的某些内容,我也必须每次都清理安装 jar。
答案 0 :(得分:0)
是否可以使用 openjdk:8-alpine,基础镜像大小为 144.9MB。
使用下图缩小尺寸 • openjdk:8-jre-alpine:84 MB
或者您也可以尝试分别安装 5 MB 和 openjdk 的 alpine os 并检查大小
答案 1 :(得分:0)
就我个人而言,当我想到最小化 docker 镜像时会想到两件事
让我试着回答你的问题 我会使用小的 jdk 图像,即 openjdk:8-alpine 如果我想在 Dockerfile 中创建 jar 文件并执行它,我会使用它。在这种情况下,您只想使用现有的 jar 文件。
既然您已经拥有并想使用名为 name_id.jar 的 jar 文件, 然后你只需要 java 运行时环境,即 openjdk:8-jre-alpine 而不是 openjdk:8-alpine