Skip to content

快速参考

  • 维护者:
    Apache Groovy 项目

  • 获取帮助的途径:
    Docker 社区 Slack、Server Fault、Unix & Linux 或 Stack Overflow

支持的标签和相应的 Dockerfile 链接

快速参考(续)

什么是 Groovy?

Apache Groovy 是一种强大的、可选类型和动态的语言,具有静态类型和静态编译功能,适用于 Java 平台,旨在通过简洁、熟悉且易于学习的语法提高开发人员的生产力。它与任何 Java 程序无缝集成,并立即为您的应用程序提供强大的功能,包括脚本功能、特定领域语言创作、运行时和编译时元编程以及函数式编程。

logo

如何使用此图像

请注意,如果您正在挂载卷,并且运行 Docker 的 uid 不是 1000 ,则应作为用户 root-u root )运行。

启动 Groovysh

docker run -it --rm groovy

运行一个 Groovy 脚本

docker run --rm -v "$PWD":/home/groovy/scripts -w /home/groovy/scripts groovy groovy <script> <script-args>

重用 Grapes 缓存

本地的 Grapes 缓存可以通过创建一个卷并在 /home/groovy/.groovy/grapes 中挂载它来在容器之间重用。

docker volume create --name grapes-cache
docker run --rm -it -v grapes-cache:/home/groovy/.groovy/grapes groovy

图像变体

groovy 图像有多种类型,每种都针对特定的用例进行了设计。

groovy:<version>

这是默认的镜像。如果您不确定自己的需求是什么,您可能想要使用这个。它被设计为既可以用作一次性容器(挂载您的源代码并启动容器以启动您的应用程序),也可以用作构建其他镜像的基础。

其中一些标签可能包含像 jammy 这样的名称。这些是 Ubuntu 发布的套件代码名称,指示该映像基于哪个版本。如果您的映像需要安装除映像附带的软件包之外的任何其他软件包,您可能需要明确指定其中一个,以在有新的 Ubuntu 发布时最大程度地减少损坏。

groovy:<version>-alpine

该镜像基于流行的 Alpine Linux 项目,可在 alpine 官方镜像中使用。Alpine Linux 比大多数发行版基础镜像(约 5MB)小得多,因此通常会生成更精简的镜像。

当您主要关注最终图像大小尽可能小时,此变体很有用。需要注意的主要警告是,它确实使用 musl libc 而不是 glibc 等,因此软件通常会根据其 libc 要求/假设的深度遇到问题。有关可能出现的问题以及使用基于 Alpine 的映像的一些优缺点比较的更多讨论,请参阅此 Hacker News 评论线程。

为了最小化镜像大小,在基于 Alpine 的镜像中包含额外的相关工具(如 gitbash )是不常见的。使用此镜像作为基础,在您自己的 Dockerfile 中添加您需要的东西(如果您不熟悉如何安装软件包,请参阅 alpine 镜像描述中的示例)。

许可证

查看此映像中包含的软件的许可证信息。

与所有 Docker 镜像一样,这些镜像可能还包含其他软件,这些软件可能受其他许可证的约束(例如来自基础发行版的 Bash 等,以及所包含的主要软件的任何直接或间接依赖项)。

一些能够自动检测到的额外许可证信息可能会在 repo-info 存储库的 groovy/ 目录中找到。

对于任何预构建的映像使用,映像用户有责任确保对此映像的任何使用都符合其中包含的所有软件的任何相关许可证。