技术开发 频道

为Java EE应用提供的9种Docker方法

  【IT168 技术】你想在 Java EE 应用中使用 Docker 吗?

  一个典型的Java EE应用程序由应用服务器(例如:WildFly)和数据库(例如:Mysql)组成的。除此以外,你也许还需要一个前端负载:例如Apache,用于多台应用服务器的负载均衡,缓存:例如Infinispan,可以用于提高应用的整体性能。消息中间件:例如ActiveMQ,可以用于处理队列。缓存和消息组件可以用于集群的进一步扩展。

  本文将先讲解一个简单 Docker 容器配置方法:包括应用服务器和数据库。接下来将讲解几个高级应用方法:包括前端负载、缓存、消息中间件和集群。

  让我们开始吧!

  如果你的机器之前没有安装过Docker,那么首先你需要安装Docker。你可以使用是最新版本的linux,它已经集成了Docker,或者使用安装命令:

  sudo apt-get install docker-io

  在Mac和windows系统上,则需安装 boot2docker ,它是一个微内核的linux虚拟机包含Docker主机。同时你需要配置ssh秘钥和证书。

  幸运的是,Docker Machine. 使用非常简单。你从头开始到创建完成一个Docker主机只需要一条指令。这个主机可以创建在你的便携设备上、云端或数据中心。在多个服务器上安装Docker,Docker客户端可以传输配置。

  第2种 Docker方法:应用服务器+内存数据库

  Java EE 7 的一个很酷的功能是带默认的数据库资源。这可以让你不用担心在你的应用程序可以访问之前为应用服务器创建特定的JDBC资源。任何Java EE 7兼容的应用服务器将默认的JDBC资源名称(java:comp/defaultdatasource)映射到自带的数据库服务器内的应用服务器专用的资源上。

  例如,WildFly 捆绑了 H2 内存数据库。一旦 Wildfly 准备接受请求的时候该数据库就可用了。这简化了开发工作,让你做一个快速原型。默认的 JDBC 资源映射到 java:jboss/datasources/ExampleDS,然后又会被映射到 JDBC URL ofjdbc:h2:mem:test;DB_CLOSE_DELAY=-1;DB_CLOSE_ON_EXIT=FALSE.

  这这种情况下,数据库服务器是运行在应用服务器内的另一个应用。

为Java EE应用提供的9种Docker方法

  下面是在WildFly上运行Jave EE7应用

  docker run -it -p 8080:8080 arungupta/javaee7-hol

  如果你想运行一个典型的WildFly加H2内存数据库的Java EE 7应用,那么这种Docker方法的详细解释见Java EE 7 Hands-on Lab on WildFly and Docker。

1
相关文章