我想安装一个需要安装Java SDK的应用程序,但我不想在我的计算机上安装Java。相反,我想将Java安装到Docker容器,并允许我的主机上的应用程序使用它。
这可能吗?
Docker并没有真正以这种方式工作。最适合您可以通过网络连接访问的打包完整应用程序;在Java案例中,JRE加上应用程序服务器和已安装的应用程序将形成合理的完整映像。
可以在主机和容器之间共享文件,但大多数方向是“将东西推入容器”。在您的示例中,您可以使用docker run -v
选项将源目录推送到容器中,但您必须从容器内部实际运行JDK命令(javac
,mvn
,...)。您可以使用docker exec
执行此操作,但这是一个不自然的工作流程恕我直言,它要求您具有管理员级别的权限,甚至做日常事务。
我将JDK和应用程序放在同一个地方:将两者捆绑到一个Docker映像中,或者在主机上安装JDK。