Java中的容器管理

Java中的容器管理,java,containers,Java,Containers,我目前正在尝试一种教师可以制作教室专用(改装)Minecraft服务器的方法。这是我正在做的一个项目,该项目将使Minecraft可用于物理和化学教学 将有一台中央服务器计算机,运行多台服务器,每节课一台。孩子们应该只能连接到他们正在上的课,我已经想到了一个解决方案,但它必须使用类似容器的东西 我考虑的解决方案将使用docker,但我希望有一些完全基于Java的东西,我可以用jar打包,因此没有先决条件(我已经包括了JRE) 所以我的问题是,; 我可以使用什么容器管理库来打包并在windows上

我目前正在尝试一种教师可以制作教室专用(改装)Minecraft服务器的方法。这是我正在做的一个项目,该项目将使Minecraft可用于物理和化学教学

将有一台中央服务器计算机,运行多台服务器,每节课一台。孩子们应该只能连接到他们正在上的课,我已经想到了一个解决方案,但它必须使用类似容器的东西

我考虑的解决方案将使用docker,但我希望有一些完全基于Java的东西,我可以用jar打包,因此没有先决条件(我已经包括了JRE)

所以我的问题是,;
我可以使用什么容器管理库来打包并在windows上运行?

这是Java 9引入的新
jlink
工具的完美用例

使用
jlink
,您可以构建自定义JRE映像,只包含运行应用程序所需的内容。另外,
jlink
能够生成一个本机(
batch
文件,如果是Windows)可执行文件,用于运行捆绑包,而无需使用命令行


在Oracle网站上查看更多信息。

您的意思是什么?您想将您的应用程序docker映像打包到jar中吗?我想有一个docker替代方案,可以打包到我的jar中,这样我就可以用java代码来管理它。我知道java docker API,但它似乎不适合我的需要,因为运行jar的人需要已经启动并运行docker;我更喜欢在我的主类中开始,如果你想提供一个二进制文件,有人可以在JVM上运行,那么把你的应用打包成一个胖罐子就足够了。这是最简单的解决方案。我一直在想一个胖罐子,但我需要一些可以装在罐子里的东西,这就是我想要的for@EwanArends看看我的答案吧。您正在寻找的是Jlink(或javapackager)。我不知道Jlink可以用于图像?这在运行时可能吗?提前谢谢@最后,您必须使用jlink来构建最终的可运行捆绑包。一旦构建完成,它将带着捆绑/定制的JRE到处运行。那么我该如何用它打包docker呢?@EwanArends你不需要docker。JRE捆绑在生成的捆绑包中。您不需要外部JVM。您的应用程序是完全独立的。@例如,请参阅