プライマリ・コンテンツに移動
Oracle® Fusion Middleware DockerでのOracle WebLogic Server 12.1.3の実行
12c (12.1.3)
E64866-03
  ドキュメント・ライブラリへ移動
ライブラリ
製品リストへ移動
製品
目次へ移動
目次

前
 
次へ
 

1 はじめに

この項では、Dockerコンテナ内で稼働するようにOracle WebLogic Server 12.1.3を構成する方法について説明します。Dockerは、Linuxベースのコンテナ・テクノロジで、これを使用すると、軽量化されたクラスタ化および非クラスタ化のWebLogic Serverドメイン構成を、開発環境または本番環境のいずれかで単一のホスト・オペレーティング・システムまたは仮想マシン上に、すばやく作成できます。

内容は次のとおりです。

Dockerについて

Dockerは、ユーザーが分散アプリケーションをビルド、パッケージ、出荷および稼働することができるプラットホームです。Dockerのユーザーは、開発したアプリケーションおよびアプリケーションに依存するすべてのライブラリおよびファイルをひとつのDockerイメージにパッケージできます。

Dockerイメージは、様々なLinux環境に配布できる移植可能なアーチファクトです。配布されたイメージを使用してコンテナをインスタンス化し、同一のオペレーティング・システム上の別のコンテナで稼働中のアプリケーションから独立して、アプリケーションを稼働することができます。

DockerでのWebLogic Serverイメージについて

証明書の一部として、オラクル社では、WebLogic ServerでイメージをビルドするDockerfileおよびサポートス・クリプトをGitHubでリリースしています。これらのイメージは、既存のOracle Linuxイメージの拡張としてビルドされます。GitHubで公開されているDockerfileおよびサポート・スクリプトを使用して開始すると、WebLogic Server Dockerイメージの作成および稼働を容易になります。詳細は、「GitHubのDockerfileおよびスクリプトについて」を参照してください。

Dockerイメージのビルドをサポートするために、WebLogic Server 12.1.3とJDKバージョン、Oracle Linuxおよび、RedHat Linux OSバージョン、KernelバージョンおよびDockerバージョンの様々な組合せが動作保証されています。サポートされているWebLogic Server Dockerイメージの動作保証の詳細は、http://www.oracle.com/technetwork/middleware/ias/oracleas-supported-virtualization-089265.htmlを参照してください。

WebLogic Server Dockerカスタム・イメージ

独自のWebLogic Server Dockerイメージを作成することができます。この作業を容易にするために、オラクル社では、開始の際にサンプルとして使用できるDockerfileおよびスクリプトをGitHubで公開しています。

カスタムのWebLogic Server Dockerイメージを作成する前提条件は、次の通りです。

  • サポートされているOracle LinuxまたはRed Hat Linuxベース・イメージ

  • GitHubから入手したDockerfileおよびスクリプト

  • Oracle WebLogic Server 12c (12.1.3) GenericインストーラまたはDeveloperインストーラ

  • 対応するサポートされているJDK

GitHubのDockerfileおよびスクリプトについて

WebLogic Server Dockerイメージのビルドおよび稼働を容易にするために、GitHubでDockerfileおよびサポート・スクリプトが公開されています。ディレクトリ全体をダウンロードして、Oracle WebLogic Serverイメージをビルドし、コンテナを開始してください。これらのファイルにアクセスするには、https://github.com/oracle/docker-images/tree/master/OracleWebLogicへ移動します。

これらのDockerfileおよびスクリプトを使用すると、開発したイメージを拡張して、単一のホスト・オペレーティング・システムまたは仮想マシンで稼働する開発環境および本番環境を含むクラスタ化および非クラスタ化のWebLogic Serverドメイン構成を作成できます。GitHubのDockerfileおよびスクリプトは、独自のDockerfileを記述しWebLogic Serverイメージをビルドするためのサンプルとして使用することのみを目的としています。


注意:

WebLogic ServerはRedHat Linuxイメージで動作保証されていますが、GitHubのDockerfileはOracle Linuxイメージを拡張するために記述されています。WebLogic Serverイメージを作成してRedHat Linuxイメージを拡張する場合、これらのDockerfileを変更する必要があります。

作成されたドメイン構成で稼働するサーバーは、それぞれのDockerで稼働し、必要に応じ他のサーバーと通信が可能です。「DockerでのWebLogic Serverイメージのビルド」で説明するように、これ以外の構成およびアプローチも可能です。

GitHubのDockerfileについて

2種類のWebLogic Server 12c (12.1.3)用のDockerfileが、GitHubの/OracleWebLogic/dockerfiles/12.1.3サブディレクトリから入手できます。

  • Dockerfile.developer – WebLogic Server開発用インストール・イメージをビルドします。

  • Dockerfile..generic – WebLogic Server汎用ドメイン・イメージをビルドします。

WebLogic Serverインストール・イメージのDockerfile

WebLogic Serverインストール・イメージを作成するDockerfileは、次の機能を実行します。

  • Oracle Linuxベース・イメージを拡張します。

  • JDKをインストールします。

  • GenericまたはDeveloperインストーラのいずれかを(選択するDockerfileに応じて)使用して、WebLogic Serverをインストールします。

WebLogic Serverインストール・イメージを作成した後に、それらを拡張してWebLogic Serverのベース・ドメインを構成することができます。

WebLogic Serverドメイン・イメージのDockerfile

WebLogic Serverドメイン・イメージを作成するDockerfileは、次の機能を実行します。

  • WebLogic Serverインストール・イメージを拡張します。

  • WLSTスクリプトを呼び出して、WebLogic Serverドメインを構成します。ドメインには、管理サーバー、JMSサーバーおよびデータ・ソースが1つずつあり、JPA 2.1およびJAX-RS 2.0が有効化されます。

図1-1に、WebLogic Serverドメイン・イメージを示します。

図1-1 WebLogic Serverドメイン・イメージ

Docker上のWebLogic Serverドメイン・イメージ

Oracle WebLogic Serverドメイン・イメージを使用して、次の2つのタイプのコンテナを作成できます。

  • 単一のWebLogic Server管理サーバーを持つ管理サーバーコンテナ(図1-2)。

    図1-2 管理サーバー・コンテナ

    単一のWebLogic Administration Severコンテナ
  • ノード・マネージャのある管理対象サーバー・コンテナ。管理サーバーおよび管理対象サーバーにマシンとして追加されます(図1-3)。

    図1-3 管理対象サーバーとノード・マネージャ・コンテナ

    ノード・マネージャ・コンテナを持つWebLogic管理対象サーバー

GitHubのスクリプトについて

サポート・スクリプトは、WebLogic Server 12c (12.1.3) Dockerイメージの作成を助け、WebLogic Serverドメインの構成でイメージを拡張するサンプルとして使用されます。スクリプトは次のサブディレクトリにあります。

/OracleWebLogic/dockerfiles

/OracleWebLogic/samplesおよび

/OracleWebLogic/samples/1213-domain/container-scripts

表1-1に示すスクリプトは、WebLogic Serverインストール・イメージの作成およびDockerコンテナ内でのWebLogic Serverの開始の際に使用します。

表1-1 GitHubでサポートされているDockerのWebLogic Serverスクリプト

スクリプト 機能

buildDockerImage.sh

WebLogic ServerインストールDockerfileの手順を使用してイメージをビルドします。

clean-up-docker.sh

すべてのゴースト・コンテナおよびゴースト・イメージを削除します。

rm_containers.sh

稼働中のすべてのコンテナを削除します。

add-machine.py

管理対象サーバー・コンテナ名を使用してマシンを作成するWLSTスクリプト。

add-server.py

管理サーバーを作成するWLSTスクリプト。

commEnv.sh

JPA 2.1のサポートを有効にします。

create-wls-domain.py

1つの管理サーバー、LMSサーバー、JSPサーバーおよびデータ・ソースのあるベース・ドメインを構成するWLSTスクリプト。

createMachine.sh

コンテナのノード・マネージャを起動し、addMachine.shを呼び出して、ノード・マネージャの起動およびノード・マネージャ・マシンの追加を実行します。

createServer.sh

コンテナのノード・マネージャを起動し、add-server.pyを呼び出して、add-machine.pyで作成されたマシン内に管理対象サーバーを構成します。

jaxrs2-template.jar

JAX-RSを構成するテンプレート。


DockerコンテナでのWebLogic Serverのクラスタ化

WebLogic Serverでは、エージェント、Node Managerを使用した運用システムであるマシンの概念を使用します。このマシン・リソースにより、管理サーバーは、ドメインおよびまたはクラスタに管理対象サーバーを作成および割り当てることができ、ドメインおよびまたはクラスタを拡張したりアプリケーションおよびリソースを管理対象サーバーにデプロイしたりできるようになります。

コンテナ内のマシンを使用すると、新しいManaged Serverコンテナを起動することにより、動的クラスタを構成して、使用するクラスタを簡単にスケール・アップできます。WebLogic Server Scripting Tool (WLST)を使用すると、クラスタの処理能力をすばやく最適化することができます。ノード・マネージャの詳細は、「Oracle WebLogic Serverノード・マネージャの管理」を参照してください。。WLSTの使用方法の詳細は、『Oracle Fusion Middleware Oracle WebLogic Scripting Tool』を参照してください。

Dockerコンテナにより、クラスタ化および非クラスタ化されたWebLogic Serverドメイン構成を、単一のLinuxホストにまたがって作成できます。ドメインのサーバーは、それぞれのDockerで稼働し、同一のホスト上で他のサーバーとの通信が可能です。クラスタ化されたWebLogic Serversは、複数のホストにまたがってサポートされていないことに注意してください。

Dockerコンテナ内のクラスタ化されたWebLogicドメイン

ひとつのトポロジは、DockerコンテナのWebLogic Serverクラスタを単一ホストにまたがった構成です(図1-4)。

図1-4 単一ホストにまたがるDockerコンテナのWebLogicクラスタ

単一のLinuxホストにまたがるDockerコンテナのクラスタ

このトポロジのメリットは、次のとおりです。

  • 従来のWebLogic Serverデプロイメント(WebLogicドメインとクラスタを持ち、各クラスタに複数のサーバーが存在)に適しています。

  • WebLogicドメイン・イメージからのコンテナのデプロイが容易です。

  • クラスタのスケール・アップ、スケール・ダウンが容易です。

  • 開発者に便利です。

  • Dockerバイナリを除き、ホスト上に何もインストールまたは構成する必要がありません。

Dockerコンテナの非クラスタ化WebLogic Server

コンテナ化されたアプリケーションとサービスのDocker方式の構成に一致する推奨トポロジは、すべてのリソース、共有ライブラリおよびデプロイメントを含むWebLogic Administration Serverのみを実行するように設計されたコンテナから構成されます。図1-5に示すように、Dockerイメージは、事前定義されたすべてのドメイン・リソース、アプリケーションおよびあらかじめデプロイされた共有ライブラリを含み、管理対象サーバーまたはクラスタは含みません。

図1-5 単一ホスト上にコンテナ化されたOracle WebLogic Serverアプリケーション

単一のLinuxホスト上にコンテナ化されたWebLogicアプリケーション

このトポロジのメリットは、次のとおりです。

  • コンテナ化されたアプリケーションとサービスを構成するために、Dockerの推奨方式を使用します。

  • コンテナは、簡単に繰返し可能です。

  • 各コンテナは、同じWebLogicドメインのインスタンスです。

コンテナはすべて、単一の物理または仮想サーバーLinuxホスト上(図1-5参照)、または、複数の物理または仮想サーバーLinuxホスト上(図1-6参照)に存在できます。

図1-6 複数ホスト上にコンテナ化されたWebLogic Serverアプリケーション

複数のLinuxホスト上にコンテナ化されたWebLogicアプリケーション

もう1つの可能なトポロジは、リモート・ホストおよびデータベース上のWebLogic Serverインスタンスと通信する単一のLinuxホスト上の単一のコンテナ上で実行される、単一のOracle WebLogic Serverドメインです。

図1-7に、単一ホスト上のDockerコンテナのWebLogic Serverの単一ドメインを示します。

図1-7 単一ホスト上のDockerコンテナのWebLogic Serverドメイン

単一のLinuxホスト上のDocker上のWebLogicドメイン