macOS 10.12.3 で実行したコードを記載しています。
git のローカルディレクトリが ~/git である前提でコードを記載しています。
コンテナビルド用のスクリプトを取得
githubからoracleの提供しているdockerスクリプトを取得する。
cd ~/git
git clone https://github.com/oracle/docker-images.git
各種インストーラのダウンロード
コンテナイメージのビルド時に、JavaとWeblogicのインストーラが必要なので、ダウンロードしておく。
-
- Linux x64 (server-jre-8u121-linux-x64.tar.gz)
-
Weblogic 12.2.1 (要Oracleユーザ登録)
- Generic (fmw_12.2.1.0.0_wls_Disk1_1of1.zip)
- Quick Installer for Mac OSX, Windows and Linux (fmw_12.2.1.0.0_wls_quick_Disk1_1of1.zip)
**Weblogicは12.2.1で。**管理サーバ作成用のスクリプトが12.2.1用しか用意されていなかった。
Java8のDockerイメージ作成
Weblogic Dockerイメージのベースイメージになる。
cd ~/git/docker-images/OracleJava/java-8/
mv ~/Downloads/server-jre-8u121-linux-x64.tar.gz ./
./build.sh
WeblogicのDockerイメージ作成
cd ~/git/docker-images/OracleWebLogic/dockerfiles/
mv ~/Downloads/fmw_12.2.1.0.0_wls_Disk1_1of1.zip ./12.2.1/
mv ~/Downloads/fmw_12.2.1.0.0_wls_quick_Disk1_1of1.zip ./12.2.1/
./buildDockerImage.sh -d -s -v 12.2.1
- macだと標準でmd5sumがインストールされていないので、-sオプションでmd5チェックサム検証をスキップしている
Weblogicドメイン作成済みDockerイメージ作成
cd ~/git/docker-images/OracleWebLogic/samples/1221-domain/
docker build -t 1221-domain --build-arg ADMIN_PASSWORD=<define> .
は任意のパスワード. 8文字以上で、少なくとも1文字は数字か記号。ここではadminadmin!
データソース設定済みDockerイメージ作成
cd ~/git/docker-images/OracleWebLogic/samples/1221-domain-with-resources/
docker build -t 1221-domain-with-resources .
作成するデータソースの設定を変更する場合は以下のファイルを書き換える。
container-scripts/datasource.properties
dsname=DockerDS
dsdbname=default;create=true
dsjndiname=jdbc/DockerDS
dsdriver=org.apache.derby.jdbc.ClientDataSource
dsurl=jdbc:derby://localhost:1527/default;ServerName=localhost;databaseName=default;create=true
dsusername=
dspassword=
dstestquery=SQL SELECT 1 FROM SYS.SYSTABLES
dsmaxcapacity=1
管理サーバコンテナの起動
docker run -d --name=wlsadmin -p 7001:7001 1221-domain-with-resources
以下のURLから管理サーバコンソールにアクセスできる。
http://localhost:7001/console
ユーザ名:weblogic
パスワード: 先ほど設定したパスワード。ここではadminadmin!
管理対象サーバコンテナの起動
docker run -d --name=wlsmanaged --link wlsadmin:wlsadmin 1221-domain createServer.sh
数秒後に、管理サーバコンソールの環境->サーバにアクセスすると、管理対象サーバが追加されていることが確認できる。