每个 Docker 镜像都应该包含一个 JDK 吗?这种方法是否正确?是否应该将 DockerHub 中的“OpenJDK”添加到每个映像中?为什么即使目标 PC 可能已经具有 JDK,映像的大小也会很大?(暗示)每个应用/微服务都应该在自己的容器中吗?
所以,我对Docker很陌生。让我解释一下这个问题的背景。
我有 10 - 20 个 Spring Boot 微服务应用程序,每个应用程序都在本地计算机上的不同端口上运行。
但是,为了迁移到 Docker,根据我的学习,每个服务都必须位于不同的 Docker 容器中,以便快速部署或复制。
对于每个 Docker 容器,我们需要创建一个新的 Docker 映像。
每个 Docker 映像必须包含一个 JRE,才能运行 Spring Boot 应用程序。最大值约为 200 MB。这意味着每个 Docker 映像最大为 350 MB。另一方面,在我的本地PC上,我只有一个200 MB的JRE,每个应用程序只占用几MB的空间。
基于此,我在本地系统上需要 600 MB,但所有 Docker 映像都需要 7 GB。
这种方法是否正确?是否应该将 DockerHub 中的“OpenJDK”添加到每个映像中?
为什么即使目标 PC 可能已经具有 JDK,映像的大小也会很大?