プライマリ・コンテンツに移動
Oracle® Fusion Middleware DockerでのOracle WebLogic Serverの実行
12c (12.2.1.1.0)
E77387-01
目次へ移動
目次

前
次

1 はじめに

この項では、Dockerコンテナ内で稼働するようにOracle WebLogic Server 12.2.1を構成する方法について説明します。DockerはLinuxベースのコンテナ・テクノロジーで、単一のホストOSまたは仮想マシン上に、開発または本番環境の、クラスタ化または非クラスタ化された、軽量のWebLogic Serverドメイン構成を短時間で作成できます。

内容は次のとおりです。

Dockerについて

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

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

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

オラクル社では、証明書の一部として、WebLogic Serverのためのイメージのビルドに使用される、Dockerfileおよびサポート・スクリプトをGitHub上でリリースしています。それらの公開されたファイルは、使用を開始するために役立つ例となります。WebLogic Serverイメージは、JDK 7または8、およびOracle WebLogic Server 12c (12.2.1)インストールを含むOracle Linuxイメージ7.0の拡張として構築されます。詳細は、「GitHubのDockerfileおよびスクリプトについて」を参照してください。

Dockerイメージ作成をサポートするために、オラクル社では、WebLogic Server 12.2.1をJDKバージョン、Oracle LinuxおよびRed Hat 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.2.1) GenericインストーラまたはDeveloperインストーラ

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

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

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

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

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

GitHubのDockerfileについて

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

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

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

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

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

  • Oracle JDKイメージを拡張します

  • サイレント・モードで(WLS汎用/Developerインストーラ)を使用してWLSをインストールします

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

図1-1 Oracle WebLogic Server Dockerイメージ

図1-1の説明が続きます
「図1-1 Oracle WebLogic Server Dockerイメージ」の説明

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

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

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

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

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

アプリケーション・イメージを作成するための追加のDockerfileがあります。このDockerfileは次のような機能を実行します。

  • ドメイン・イメージを拡張します

  • アプリケーションをOracle WebLogic Serverドメインにデプロイします

図1-2に、WebLogic Serverドメインおよびアプリケーション・イメージを示します。

図1-2 WebLogic Serverドメインおよびアプリケーション・イメージ

図1-2の説明が続きます。
「図1-2 WebLogic Serverドメインおよびアプリケーション・イメージ」の説明

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

GitHubのスクリプトについて

サポート・スクリプトは、WebLogic Server 12c (12.2.1) Dockerイメージの作成を助け、WebLogic Serverドメインの構成でイメージを拡張するサンプルとして使用されます。それらのスクリプトは、サブディレクトリ/OracleWebLogic/dockerfiles/OracleWebLogic/samplesおよび/OracleWebLogic/samples/1221-domain/container-scriptsの下にあります。

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

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

スクリプト 機能

buildDockerImage.sh

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

add-machine.py

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

add-server.py

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

create-wls-domain.py

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

createMachine.sh

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

createServer.sh

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

rm_containers.sh

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

clean-up-docker.sh

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

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

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

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

Dockerコンテナにより、クラスタ化および非クラスタ化されたWebLogic Serverドメイン構成を作成できます。ドメイン内の各サーバーは、それ固有のDockerコンテナ内で稼働し、必要に応じて他のサーバーと通信できます。

図1-5に、DockerコンテナでのWebLogic Serverのクラスタ化を示します。

図1-5 DockerコンテナでのOracle WebLogic Serverのクラスタ化

図1-5の説明が続きます
「図1-5 DockerコンテナでのOracle WebLogic Serverのクラスタ化」の説明

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

  • 従来のようなデプロイメントに適しています

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

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

  • 軽量かつ繰返し可能で共有可能なWebLogic環境を探している開発者に最適です

  • 連続的なデプロイメントに適しています

  • Dockerバイナリを除き、ホスト上に何もインストールまたは構成する必要がないため管理が容易です

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

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

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

図1-6の説明が続きます
「図1-6 複数ホスト上にコンテナ化されたWebLogic Serverアプリケーション」の説明

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

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

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

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