技术开发 频道

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

  第5种Docker方法:在同一宿主上的两个容器使用Compose进行通信

  Docker Compose是一种在Docker上定义和运行复杂应用程序的工具。通过Compose,你在单独的文件中定义一个多容器应用程序,只需执行一个命令就能让你的应用程序运行起来。

  应用程序的配置文件格式和Fig所用的一致。这些容器可以这样启动:

  docker-compose up -d

  对这个方法的详细讲解参见使用Docker Compose组织容器。

  第6种Docker方法:在不同宿主上的两个容器使用IP地址进行通信

  在前一个方法中,两个容器运行在同一个宿主上。它们俩可以使用Docker linking方便地互相通信。但是简单的容器级linking不允许跨宿主通信。

  在同一个宿主上运行容器意味着你无法扩展每一层,数据库属于独立的一层,应用服务器也属于独立的一层。在这种情况下,你需要在不同的宿主上运行每个容器。

使用Compose进行通信

  MySQL容器可以这样启动:

  docker run --name mysqldb -e MYSQL_USER=mysql -e MYSQL_PASSWORD=mysql -e MYSQL_DATABASE=sample -e MYSQL_ROOT_PASSWORD=supersecret -p 5306:3306 -d mysql

  JDBC资源可以这样创建:

  data-source add --name=mysqlDS --driver-name=mysql --jndi-name=java:jboss/datasources/ExampleMySQLDS --connection-url=jdbc:mysql://$MYSQL_HOST:$MYSQL_PORT/sample?useUnicode=true&characterEncoding=UTF-8 --user-name=mysql --password=mysql --use-ccm=false --max-pool-size=25 --blocking-timeout-wait-millis=5000 --enabled=true

  WildFly容器可以这样启动:

  docker run --name mywildfly -e MYSQL_HOST= -e MYSQL_PORT=5306 -p 8080:8080 -d arungupta/wildfly-mysql-javaee7

  对这个方法的完整阐述参见在多个宿主之间使用Docker容器的linking技术。

  第7种Docker方法:使用Docker Swarm管理不同宿主上的两个容器

使用Compose进行通信

  Docker Swarm是 Docker的原生集群管理工具。它将一群Docker宿主变为单一的虚拟宿主。通过优化宿主资源利用率,提供故障转移服务,它弥补了Docker Machine的不足。具体地说,Docker Swarm允许用户将运行着Docker守护进程的宿主组建为资源池,并在此之上调度Docker容器的运转,自动管理工作负载的分配,维护集群的状态。

1
相关文章