docker镜像可以使用来自主机的可执行文件吗?

Dav*_*itz 3 java docker

我有几个Java服务,每个服务打包为一个单独的jar文件.我计划将其打包为docker图像.我是否需要在每个映像上捆绑Java运行时,或者我可以依赖主机(将运行映像)已经具有Java运行时的事实?

Adr*_*uat 8

您可以使用卷将Java运行时从主机安装到容器中,但这会使容器的可移植性降低(正如Andrew Fox指出的那样).

如果您使用公共基本映像(例如java:8-jre容器),则映像将在容器之间共享,这意味着磁盘上只有一个副本(每个容器不是一个副本).

在这两种情况下,您仍然可以运行多个JVM,每个容器一个.

  • 只需查看 CoW 文件系统的工作原理即可。我改写了我的答案,以便更清楚地表达我的意思。https://docs.docker.com/storage/storagedriver/ (2认同)