WebLogic 12cの環境をとりあえず使ってみたい方向けに、2016年11月現在での方法を紹介します。本記事は12.2.1.1以降に対応しています。12.2.1以前はこちらの記事をどうぞ。
前提:
- GitとDockerが使える環境が既にある
- LinuxかMacを使っている (Windowsの場合は、適宜読み替えができる)
参考:
https://github.com/oracle/docker-images/tree/master/OracleWebLogic/dockerfiles/12.2.1.2
1. 必要なものをダウンロード
Oracle社公式のDockerイメージ
$ git clone --depth 1 https://github.com/oracle/docker-images
$ export WLS_DOCKER_DIR=`pwd`/docker-images
以下、docker-images/
のパスを$WLS_DOCKER_DIR
と表記します。
Java 8
- JavaのOTNサイトにて、利用許諾確認してダウンロード
- Linux x64版のJava8(マイナーバージョンは不問)
-
$WLS_DOCKER_DIR/OracleJava/java-8
に配置
WebLogic
- WebLogicのOTNサイトにて、利用許諾確認してLinux x64版をダウンロード
- 12.2.1.1以降
- 「Quick Installer for Mac OSX, Windows and Linux」でも「Generic」でも良い
-
$WLS_DOCKER_DIR/OracleWebLogic/dockerfiles/バージョン番号
に配置 - MD5チェックサムを、上記ディレクトリ内の
*.download
と比較して確認
2. Java Dockerイメージのビルド
$ cd $WLS_DOCKER_DIR/OracleJava/java-8
$ sh build.sh
...
Successfully built 4f40dfabddcf
3. WebLogic Dockerイメージのビルド
Quick Installerの場合 (12.2.1.2の例)
$ cd $WLS_DOCKER_DIR/OracleWebLogic/dockerfiles
$ sh buildDockerImage.sh -v 12.2.1.2 -d -s
...
Successfully built 4e556102dd5f
WebLogic Docker Image for 'developer' version 12.2.1.2 is ready to be extended:
--> oracle/weblogic:12.2.1.2-developer
Build completed in 406 seconds.
Genericの場合 (12.2.1.2の例)
$ cd $WLS_DOCKER_DIR/OracleWebLogic/dockerfiles
$ sh buildDockerImage.sh -v 12.2.1.2 -g -s
...
Successfully built 5ddedc69755d
WebLogic Docker Image for 'generic' version 12.2.1.2 is ready to be extended:
--> oracle/weblogic:12.2.1.2-generic
Build completed in 545 seconds.
「md5sum」がない環境でも実行できるよう、-s
をつけてチェックサム比較処理を回避しています。
4. WebLogic管理サーバーの起動
Quick Installerの場合 (12.2.1.2の例)
$ docker run -d --name=wlsadmin -p 8001:8001 oracle/weblogic:12.2.1.2-developer
Genericの場合 (12.2.1.2の例)
$ docker run -d --name=wlsadmin -p 8001:8001 oracle/weblogic:12.2.1.2-generic
管理サーバーの管理ポートが8001のため、Docker Machineのポート8001で、管理コンソールなどにアクセスできるようにしています。
12.2.1までは管理パスワードを指定できていたのですが、12.2.1.1以降では自動生成されたものが強制的に適用されます。現在のところ、パスワードを任意の文字にする方法は無いようです。このため、コンテナのログからパスワードを調べます。
$ docker logs wlsadmin | grep password
cat: date: No such file or directory
----> 'weblogic' admin password: d41d8cd9
admin password : [d41d8cd9]
* password assigned to an admin-level user. For *
上記の例の場合、管理コンソールのパスワードはd41d8cd9
となります。
5. 検証
管理コンソール
Docker Machine以外の環境からアクセスする場合は、localhost
をDocker Machineのホスト名に置き換えてください。
開発モードとなっています。
コンソールアクセス
oracleユーザーでコンテナにログインして、WLSTなどのコマンドを検証できます。
$ docker exec -it wlsadmin bash
ファイルをアップロード
Docker Machineからコンテナへ、WLSTスクリプトやバイナリなどをコピーできます。
$ docker cp /path_in_dockermachine/SomeFile.zip wlsadmin:/path_in_container/
再起動
WebLogicサーバーの再起動は、Dockerコンテナの再起動で実施します。
$ docker stop wlsadmin
$ docker start wlsadmin
6. 片付け
$ docker stop wlsadmin
$ docker rm wlsadmin
注意点
Oracle製品をプロジェクトに含んだ状態でDockerイメージを公開すると、利用許諾違反となります。また、利用許諾承認プロセスが組み込めないため、DockerHubにWebLogicのビルド済みイメージが公開される可能性は無いようです。レジストリサーバーを立てて、そこにビルド済みイメージを置いてDev/Ops間で共有するのは良いようです。
参考:
There should be official Versions of Weblogic on DockerHub. #13
Put this on docker hub #109