我提取了基础 ubuntu:latest 镜像(大小 192.7 MB)并只安装了 Oracle java7 (JDK)(tar.gz 大小 ~53MB)并提交了生成的镜像。图片大小为 903MB。
为什么图像尺寸增加了如此巨大的幅度?我们仍然需要添加其他组件(tom cat、vertx、mysql 等)。图像大小将变得无法管理。
关于如何减小图像大小的任何提示?
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
gammay/baseimage v0.1a 80324b762c5e 21 minutes ago 903.6 MB
ubuntu latest 9bd07e480c5b 2 weeks ago 192.7 MB
最佳答案
几点:
- This Dockerfile将构建一个非常小的 Oracle JDK 镜像。另请阅读 accompanying blog post .
- 您可能不需要 JDK 来运行容器,并且可以使用基于 JRE 的容器。您始终可以使用单独的编译器容器来创建 jar 以进入应用程序容器。
- 如果可以,请考虑使用基于 OpenJDK 构建的官方 Java 镜像,这些镜像相当小。
- 理想情况下,您应该将单独的进程(例如 MySQL)放入单独的容器中。
关于java - Docker 创建巨大的图像大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27605037/