Skip to content

快速参考

  • 由……维护: (注:原文中“Maintained by:”后面应该还有具体的维护者信息,但题目中未给出,所以翻译只能到此为止。)
    Docker 社区

  • 哪里可以获得帮助:
    Docker 社区 Slack、Server Fault、Unix & Linux 或 Stack Overflow

支持的标签及各自的 Dockerfile 链接

快速参考(续)

什么是 TomEE?

Apache TomEE,发音为“Tommy”,是一个完全由 Apache 认证的 Java EE Web Profile 栈,其中 Apache Tomcat 处于主导地位。Apache TomEE 是由一个原始的 Apache Tomcat zip 文件组装而成。我们从 Apache Tomcat 开始,添加我们的 jar 文件,并将其余部分压缩。结果就是具有额外 EE 功能的 Tomcat - TomEE。

logo

Apache TomEE 有四种不同的版本,Web Profile、JAX-RS、Plus 和 Plume。

  • Apache TomEE Web Profile 提供了 Servlet、JSP、JSF、JTA、JPA、CDI、Bean 验证和 EJB Lite。
  • Apache TomEE JAX-RS(RESTful 服务)提供了 Web 配置文件以及 JAX-RS(RESTful 服务)。
  • Apache TomEE Plus 提供了 Web Profile 和 JAX-RS(RESTful 服务)中的所有内容,以及 EJB 完整功能、Java EE 连接器架构、JMS(Java 消息服务)和 JAX-WS(Web 服务)。
  • Apache TomEE Plume 提供了 Plus Profile 中的所有内容,但包括 Mojarra 和 EclipseLink 支持。

所有受支持版本的 Dockerfile 文件均可在 https://github.com/tomitribe/docker-tomee 找到

阿帕奇·托米(Apache TomEE)和托米部落(Tomitribe)

Tomitribe 为 Apache TomEE 提供商业支持、专业服务和培训。我们提供了一种新的商业模式,在满足生产支持的业务需求的同时,进一步推动开源项目的发展和增长。Tomitribe 社区合作计划将企业与社区联系起来。

Tomitribe 的所有开发人员都是 TomEE 的提交者,并且是该项目方向和发展的影响者。我们希望将这种影响力扩展到重要的人员和公司,即 TomEE 的用户。如何做到呢?Tomitribe 社区合作计划。

以下是一些可能有帮助的新闻稿:

  • Tomitribe 宣布为 Apache TomEE 提供企业服务支持
  • Tomitribe 推出社区合作项目会议

阿帕奇·托米(Apache TomEE)和管理猫(ManageCat)

另一家为 Apache TomEE 提供企业支持的商业支持公司是 ManageCat。ManageCat 参与了许多 Apache Java EE 项目,为开源 Java EE 生态系统做出贡献。ManageCat 的联合创始人也是开源 Apache OpenWebBeans 项目(http://openwebbans.apache.org)的创始人,该项目在用于 CDI 集成的 Apache TomEE 应用服务器中被大量使用。

ManageCat 是一个针对 Apache Tomcat 和 Apache TomEE 服务器的云管理和服务平台。我们参与了许多 Apache Java EE 项目,不仅想传递我们关于 Apache TomEE 的知识,还包括其他 Java EE 技术,如 JPA、EJB、CDI、JSF、JSTL、JTA、JMS。我们将帮助客户顺利开发和部署基于 Java EE 的生产应用程序。

  • ManageCat 宣布为 Apache Tomcat 和 TomEE 提供企业服务支持

如何使用此图像。

运行默认的 TomEE 服务器( CMD ["catalina.sh", "run"] ):

$ docker run -it --rm tomee:<java-version>\-<tomeeversion>\-<flavour>

例如,使用 JRE 8 和 Webprofile 风格运行 Apache TomEE 1.7.2 将是:

$ docker run -it --rm tomee:8-jre-1.7.2-webprofile

您可以在浏览器中通过访问 http://container-ip:8080 进行测试,或者,如果您需要在主机之外访问,则在端口 8888 上进行:

$ docker run -it --rm -p 8888:8080 tomee:<java-version>\-<tomeeversion>\-<flavour>

您随后可以在浏览器中前往 http://localhost:8888http://host-ip:8888

配置文件在 /usr/local/tomee/conf/ 中可用。默认情况下,没有用户被包含在操作“/manager/html”网络应用程序所需的“manager-gui”角色中。如果您希望使用此应用程序,必须在 tomcat-users.xml 中定义这样的用户。

您还可以将此图像用作部署您的战争应用程序的基础图像。要做到这一点,您需要基于 Tomee Docker 图像创建一个 Dockerfile,并将 war 文件添加到 webapps 目录中:

COPY <locationofapplication>/<warfile> /usr/local/tomee/webapps/<warfile>

图像变体

tomee 图像有多种类型,每种都针对特定的用例而设计。

tomee:<version>

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

tomee:<version>-alpine

此图像基于流行的 Alpine Linux 项目,可在 alpine 官方镜像中获取。Alpine Linux 比大多数发行版基础镜像(约 5MB)小得多,因此总体上会生成更精简的镜像。

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

为尽量减小镜像大小,在基于 Alpine 的镜像中通常不会包含其他相关工具(例如 gitbash )。以该镜像为基础,在您自己的 Dockerfile 中添加您需要的内容(如果您不熟悉如何安装软件包,请参阅 alpine 镜像说明中的示例)。

许可证

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

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

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

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