51
Copyright © 2016 Oracle and/or its affiliates. All rights reserved. | WebLogic Serverで学ぶDockerの基本 2016428日本オラクル株式会社 クラウドテクノロジー事業統括 Fusion Middleware事業統括本部 柳原 伸弥 57WebLogic Server 勉強会@東京

Oracle WebLogic Serverで学ぶDockerの基本

Embed Size (px)

Citation preview

Page 1: Oracle WebLogic Serverで学ぶDockerの基本

Copyright © 2016 Oracle and/or its affiliates. All rights reserved. |

WebLogic Serverで学ぶDockerの基本

2016年 4月28日 日本オラクル株式会社 クラウドテクノロジー事業統括 Fusion Middleware事業統括本部 柳原 伸弥

第57回 WebLogic Server 勉強会@東京

Page 2: Oracle WebLogic Serverで学ぶDockerの基本

Copyright © 2016 Oracle and/or its affiliates. All rights reserved. |

以下の事項は、弊社の一般的な製品の方向性に関する概要を説明するものです。また、情報提供を唯一の目的とするものであり、いかなる契約にも組み込むことはできません。以下の事項は、マテリアルやコード、機能を提供することをコミットメント(確約)するものではないため、購買決定を行う際の判断材料になさらないで下さい。オラクル製品に関して記載されている機能の開発、リリースおよび時期については、弊社の裁量により決定されます。

2

Page 3: Oracle WebLogic Serverで学ぶDockerの基本

Copyright © 2016 Oracle and/or its affiliates. All rights reserved. |

Program Agenda

1

2

3

4

Docker概要 -DockerとLinuxコンテナ技術-

OracleとDocker -OracleのDockerへの取り組み-

WebLogicとDocker -WebLogicマルチテナントとDocker-

Dockerを利用したWebLogic環境構築 -GitHub公開サンプルの紹介-

3

Page 4: Oracle WebLogic Serverで学ぶDockerの基本

Copyright © 2016 Oracle and/or its affiliates. All rights reserved. |

Program Agenda

1

2

3

4

Docker概要 -DockerとLinuxコンテナ技術-

OracleとDocker -OracleのDockerへの取り組み-

WebLogicとDocker -WebLogicマルチテナントとDocker-

Dockerを利用したWebLogic環境構築 -GitHub公開サンプルの紹介-

4

Page 5: Oracle WebLogic Serverで学ぶDockerの基本

Copyright © 2016 Oracle and/or its affiliates. All rights reserved. | 5

Page 6: Oracle WebLogic Serverで学ぶDockerの基本

Copyright © 2016 Oracle and/or its affiliates. All rights reserved. | 6

Docker

WebLogic Server White Paper http://www.oracle.com/technetwork/middleware/weblogic/

overview/weblogic-server-docker-containers-2491959.pdf

GitHub https://github.com/oracle/docker-images

Supported Virtualization and Partitioning Technologies

for Oracle Fusion Middleware http://www.oracle.com/technetwork/jp/middleware/ias/or

acleas-supported-virtualization-089265.html

Page 7: Oracle WebLogic Serverで学ぶDockerの基本

Copyright © 2016 Oracle and/or its affiliates. All rights reserved. |

「Docker」への関心の推移

7

As of 2016/4/27 Google Trendより引用

2013年後半頃より関心が高まる傾向

Page 8: Oracle WebLogic Serverで学ぶDockerの基本

Copyright © 2016 Oracle and/or its affiliates. All rights reserved. | 8

Page 9: Oracle WebLogic Serverで学ぶDockerの基本

Copyright © 2016 Oracle and/or its affiliates. All rights reserved. |

What is Docker ?

9

Dockerは アプリケーションとアプリケーションに依存関係のある全てを

ソフトウェア開発のために共通化された単位にパッケージする事を可能とする

Docker, inc Web siteより引用: https://www.docker.com/what-docker

アプリケーション

データ 3rdパーティ ライブラリ

OS (Linuxディストリビューション)

ファイル システム

アプリケーション サーバ

アプリケーションに関連する 様々なコンポーネント Docker

Page 10: Oracle WebLogic Serverで学ぶDockerの基本

Copyright © 2016 Oracle and/or its affiliates. All rights reserved. | 10

物理マシン

ホストOS

ハイパーバイザ

物理マシン

ホストOS

Linux カーネル

Docker Engine

OSファイル

ミドルウェア

アプリケーション

ゲストOS

ミドルウェア

アプリケーション

Dockerと仮想マシンとの比較

仮想マシン 物理レベルから (CPUやメモリなど) エミュレーションを行う フルスタックの仮想環境

Docker ホストOSとカーネル空間は共有し、ユーザ空間を論理的に複数に分割した仮想環境を提供

同一OS上の隔離空間 という表現が適切

隔離空間をコンテナと呼んでいる

ハイパーバイザ型 仮想化

ハイパーバイザ型 仮想化

コンテナ型 仮想化

Page 11: Oracle WebLogic Serverで学ぶDockerの基本

Copyright © 2016 Oracle and/or its affiliates. All rights reserved. | 11

物理マシン

ホストOS

Linux カーネル

Docker Engine

OSファイル

ミドルウェア

アプリケーション

コンテナ型仮想化による隔離空間 ホストOSとなるLinuxのKernel機能 によりコンテナ型仮想空間を実現

相互に隔離された ユーザ空間

隔離・制御されるリソース •プロセステーブル コンテナ毎に独立したプロセステーブルを利用 コンテナ内のプロセスから、外部のプロセスは不可視

•ファイルシステム コンテナ毎に特定ディレクトをルートファイルシステムとして設定

•ネットワーク コンテナごとに独立したネットワーク設定

•「/dev」配下のデバイスファイル −CPU −メモリ −デバイス

Linux Kernel機能による隔離空間の

制御

Page 12: Oracle WebLogic Serverで学ぶDockerの基本

Copyright © 2016 Oracle and/or its affiliates. All rights reserved. |

Dockerが利用しているLinux Kernel 機能

12

Namespaces

Cgroups

Storage

Networking

Security PID

MNT

IPC

UTC

NET

CPU

CPUSET

MEMORY

DEVICE

Device Mapper

BTRFS

AUFS

OverlayFS

VFS

ZFS

veth

bridge

iptables

Capability

SELinux

seccomp USER

ユーザプロセスが動作する空間を分離する機能

プロセス群に割り当てる システムリソースを管理する機能

コンテナイメージを管理方式(Copy on Write)を実現する機能

コンテナ毎に独立したネットワークを設定・制御する機能

コンテナ毎の権限やアクセス制御に関わるセキュリティ機能

Page 13: Oracle WebLogic Serverで学ぶDockerの基本

Copyright © 2016 Oracle and/or its affiliates. All rights reserved. |

DockerイメージとDockerコンテナ

13

Docker Engine

OSファイル

ミドルウェア

アプリケーション

Docker イメージ

Dockerイメージから Dockerコンテナを起動

ベースイメージ (Linux ディストリビューション)

イメージ層

コマンド毎にレイヤを追加

Dockerfile 構成定義(全てのコマンド)を ファイルにまとめて記述

Page 14: Oracle WebLogic Serverで学ぶDockerの基本

Copyright © 2016 Oracle and/or its affiliates. All rights reserved. |

Dockerイメージ 概要

• 一般的な仮想イメージ(VMDK,VDI,OVA,OVFなど)とは概念が異なる

– WLS MTのパーティション・アーカイブに近い

• 内容

– 使用するファイルシステムをtarで集めたもの

– 必要なメタ情報(マウントするボリュームやポート番号、権限など)

• 構造

–積み上げ方式のレイヤ構造

14

$ docker images -a oraclelinux 7 befb6606d561 3 weeks ago 205.9 MB oraclelinux 7.2 befb6606d561 3 weeks ago 205.9 MB oraclelinux latest befb6606d561 3 weeks ago 205.9 MB <none> <none> 63adc2d9636b 3 weeks ago 205.9 MB <none> <none> f359075ce4d8 11 months ago 0 B

f359075ce4d8

63adc2d9636b

befb6606d561 親コンテナ 参照

親コンテナ 参照

Page 15: Oracle WebLogic Serverで学ぶDockerの基本

Copyright © 2016 Oracle and/or its affiliates. All rights reserved. |

Dockerイメージ 差分管理

15

Oracle Linux ディストリビューション

JDKパッケージ 追加

WebLogicインストール

現在のコンテナ

ベースイメージ

コミットイメージ

コミットイメージ

書き込み可能イメージ

差分参照

差分参照

差分参照

Read Only $ docker build

$ docker commit

Writable $ docker run

Docker Image

バージョン

Docker Imageのファイルシステムは全て書き込み禁止となっている コンテナとして起動した環境内で書き込まれた内容はレイヤとして保存される

Copy on Write形式

Page 16: Oracle WebLogic Serverで学ぶDockerの基本

Copyright © 2016 Oracle and/or its affiliates. All rights reserved. |

DockerイメージとJavaの比較

16

Docker イメージ

起動 (docker run)

Docker Engine

Docker コンテナ

new (インスタンス化)

Javaクラス Javaインスタンス

Java仮想マシン

テンプレートを実体化したものは、 環境問わず、実行エンジン上で稼働する

Page 17: Oracle WebLogic Serverで学ぶDockerの基本

Copyright © 2016 Oracle and/or its affiliates. All rights reserved. |

Dockerを利用するメリット

17

ホストOS

Linux カーネル

Docker Engine

OSファイル

ミドルウェア

アプリケーション

カーネルを共有

Linux Kernelの共有から得られる利点

• コンテナ環境はホストのカーネルを 直接利用するためオーバーヘッドが小さい

• コンテナ環境内にカーネルを含まないため、メモリ消費量・ディスク消費量を削減できる

• コンテナに含めるリソースが少ないため、多数のコンテナを立ち上げる事が可能

• Linux Kernelによる隔離された空間のため独立した環境の運用が可能

集約性 分離性

Page 18: Oracle WebLogic Serverで学ぶDockerの基本

Copyright © 2016 Oracle and/or its affiliates. All rights reserved. |

Dockerを利用するメリット

18

イメージの差分管理方式から得られる利点

•各差分イメージはコミットする事で新しいイメージとして保存ができるため、ソフトウェアのバージョン管理のように利用できる •以前のイメージへのロールバック

• git checkout的な動作 •派生版のイメージの作成

• git branch的な動作 • Dockerfileに製品インストールや設定作業と定義できるため「Infrastructure as Code」として構築する環境の再現性を担保できる

ベースイメージ (Linux ディストリビューション)

イメージ層

Docker イメージ

Dockerfile

再現性

Page 19: Oracle WebLogic Serverで学ぶDockerの基本

Copyright © 2016 Oracle and/or its affiliates. All rights reserved. |

Dockerコンテナ ライフサイクル

19

Docker イメージ

Docker コンテナ

run

Docker Image’

build commit

inspect

diff

history

Docker コンテナ

rm

Docker イメージ

rmi

ps

images

logs

$ docker run Docker コンテナの実行

$ docker ps Docker コンテナ一覧

$ docker build Docker イメージの作成

$ docker images Docker イメージ一覧

$ docker commit Docker コンテナのイメージ化

$ docker stop Docker コンテナの停止

$ docker rm Docker コンテナの削除

$ docker rmi Docker イメージの削除

Page 20: Oracle WebLogic Serverで学ぶDockerの基本

Copyright © 2016 Oracle and/or its affiliates. All rights reserved. |

Dockerfile

20

Docker Image

Docker Image’

Dockerfile

build

OSイメージから アプリケーションの動作するまでを 記述したコード

パラメータ 用途

FROM ベースのDockerイメージの指定

MAINTAINER 公開者の情報

RUN コマンド実行

ADD ファイル・ディレクトリの追加

CMD コンテナの実行コマンド

パラメータ 用途

ENTRYPOINT コンテナの実行コマンド

WORKDIR 作業ディレクトリ

ENV 環境変数の指定

USER 実行ユーザの指定

VOLUME 外部ボリュームのマウント

Page 21: Oracle WebLogic Serverで学ぶDockerの基本

Copyright © 2016 Oracle and/or its affiliates. All rights reserved. |

Dockerfileサンプル(GitHub公開のWLS12.2.1用)

21

FROM oraclelinux:latest MAINTAINER Bruno Borges <[email protected]> ENV JAVA_PKG=server-jre-8u*-linux-x64.tar.gz ¥ JAVA_HOME=/usr/java/default ¥ FMW_PKG=fmw_12.2.1.0.0_wls_Disk1_1of1.zip ¥ FMW_JAR=fmw_12.2.1.0.0_wls.jar ¥ ORACLE_HOME=/u01/oracle ¥ USER_MEM_ARGS="-Djava.security.egd=file:/dev/./urandom" ¥ PATH=$PATH:$JAVA_HOME/bin:$ORACLE_HOME/oracle_common/common/bin COPY $FMW_PKG install.file oraInst.loc /u01/ ADD $JAVA_PKG /usr/java/ RUN chmod a+xr /u01 && ¥ useradd -b /u01 -m -s /bin/bash oracle && ¥ echo oracle:oracle | chpasswd && ¥ ln -s $(ls -1 /usr/java) $JAVA_HOME && ¥ cd /u01 && $JAVA_HOME/bin/jar xf /u01/$FMW_PKG && cd - && ¥ su -c "$JAVA_HOME/bin/java -jar /u01/$FMW_JAR -silent -responseFile /u01/install.file -invPtrLoc /u01/oraInst.loc -jreLoc $JAVA_HOME -ignoreSysPrereqs -force -novalidation ORACLE_HOME=$ORACLE_HOME INSTALL_TYPE=¥"WebLogic Server¥"" - oracle && ¥ chown oracle:oracle -R /u01 && ¥ rm /u01/$FMW_JAR /u01/$FMW_PKG /u01/oraInst.loc /u01/install.file USER oracle WORKDIR $ORACLE_HOME CMD ["bash"]

Page 22: Oracle WebLogic Serverで学ぶDockerの基本

Copyright © 2016 Oracle and/or its affiliates. All rights reserved. |

Program Agenda

1

2

3

4

Docker概要 -DockerとLinuxコンテナ技術-

OracleとDocker -OracleのDockerへの取り組み-

WebLogicとDocker -WebLogicマルチテナントとDocker-

Dockerを利用したWebLogic環境構築 -GitHub公開サンプルの紹介-

22

Page 23: Oracle WebLogic Serverで学ぶDockerの基本

Copyright © 2016 Oracle and/or its affiliates. All rights reserved. | 23

Oracle ?

Page 24: Oracle WebLogic Serverで学ぶDockerの基本

Copyright © 2016 Oracle and/or its affiliates. All rights reserved. |

Open Container Initiative コンテナ実装の統一した標準仕様の推進

• 2015年6月:Open Container Projectの発足 – 「Open Container Format」発表:ユニバーサルなOSコンテナの中間フォーマット

– Dockerだけではなく様々なツールがOCFに従い、実装する事がゴール

• その後「Open Container Initiative」に名称変更

• オラクルはOCIのメンバーとして加入している

24

Open Container Initiative:https://www.opencontainers.org/

Page 25: Oracle WebLogic Serverで学ぶDockerの基本

Copyright © 2016 Oracle and/or its affiliates. All rights reserved. |

Dockerが使用するストレージドライバー

25

Btrfs(B-tree File System)

Btrfsは大規模のストレージシステム利用を前提に設計されたCopy on Write形式のファイルシステム オラクルが開発を推進している

ZFS

オラクル開発している次世代のファイルシステム 128ビット・アドレッシングを特徴とし、管理性、拡張性、安全性、完全性、機能性を兼ね備えたファイルシステム

Page 26: Oracle WebLogic Serverで学ぶDockerの基本

Copyright © 2016 Oracle and/or its affiliates. All rights reserved. |

Oracle Cloud Platform Application Container Cloud Service

•概要

–多様な開発言語に対応 Java, Node.js, Ruby, Python, PHP…

–ロードバランサーを内包、無停止で拡張/縮退が可能

•特徴 (Java Runtime)

– Java Flight Recorder(JFR) : 組み込みJFRによる稼働記録

– Oracle Javaの長期保守 : Java SEのupdateを長期間提供

26

Dockerベースの軽量プラットフォーム

Load Balancer

Node (App 2)

Docker

Java SE (App 1)

Docker

Java SE (App 3)

Docker

Node (App 2)

Docker

Java SE (App 1)

Docker

Java SE (App 3)

Docker

Java SE Node.js Ruby

https://www.ruby-lang.org/ja/about/logo/

Page 27: Oracle WebLogic Serverで学ぶDockerの基本

Copyright © 2016 Oracle and/or its affiliates. All rights reserved. |

Program Agenda

1

2

3

4

Docker概要 -DockerとLinuxコンテナ技術-

OracleとDocker -OracleのDockerへの取り組み-

WebLogicとDocker -WebLogicマルチテナントとDocker-

Dockerを利用したWebLogic環境構築 -GitHub公開サンプルの紹介-

27

Page 28: Oracle WebLogic Serverで学ぶDockerの基本

Copyright © 2016 Oracle and/or its affiliates. All rights reserved. | 28

WebLogic マルチテナント

Page 29: Oracle WebLogic Serverで学ぶDockerの基本

Copyright © 2016 Oracle and/or its affiliates. All rights reserved. |

WebLogic マルチテナント・アーキテクチャ概要 エンタープライズ・マルチテナント・アプリケーション・プラットフォーム

29

Oracle JVM

Java Runtime

Resource Management

Flight Recorder

G1GC

Coherence Traffic Director WebLogic Server 12cR2

管理対象サーバ 管理サーバ

フルレイヤクラスタリング Work Manager

Active GridLink for RAC

Application Continuity

リソースグループ

仮想ターゲット

ドメインパーティション エンタープライズ基盤として 培った技術を礎とする

マルチテナント・プラットフォーム

Page 30: Oracle WebLogic Serverで学ぶDockerの基本

Copyright © 2016 Oracle and/or its affiliates. All rights reserved. |

WebLogic マルチテナントの特性

分離性 環境間の独立性を担保

CPU Mem

IO

CPU Mem

IO

CPU Mem

IO

WebLogic MT

可搬性 環境間の移行を容易に実現

WebLogic MT

Java Cloud Service

集約性 軽量,省リソース

WebLogic ドメイン

WebLogic ドメイン

WebLogic ドメイン

WebLogic MT

WebLogic MT

Resources

Apps

Resources

Apps

Resources

Apps Resources

Apps

Resources

Apps

Resources

Apps Resources

Apps

Resources

Apps

Resources

Apps

ドメインやインスタンス数の抑制 テナント毎のセキュリティやリソースの管理による環境の独立性

アプリケーションと環境設定を カプセル化した容易な環境移行

システム リソースの 独立性

サーバ移行

クラウド移行 テナント間で 以下を分離 ・管理権限 ・認証認可

リソース 共有

効率的なリソース利用

30

Page 31: Oracle WebLogic Serverで学ぶDockerの基本

Copyright © 2016 Oracle and/or its affiliates. All rights reserved. |

Linuxコンテナ技術とWebLogic マルチテナント

31

OS OS

アプリケーション サーバ

コンテナ

テナント

アプリケーション

/リソース

テナント

アプリケーション

/リソース

テナント

Linuxコンテナ WebLogicマルチテナント

WebLogicマルチテナントのコンテナアプローチは、管理対象が狭く、ファイルサイズも小さくなる Javaアプリケーション用のコンテナという観点では、非常に効果的なコンテナアプローチといえる

コンテナエンジン

OSファイル ライブラリ

アプリケーション サーバ

アプリケーション /リソース

フルスタックのコンテナ • OSレイヤでは、Kernelは含まないものの、Distribution関連のOSファイルは含む

• 製品イメージを含む

アプリケーション焦点のコンテナ

• OSは含まない • 製品イメージ含まず • アプリケーションにとって必要最低限な リソースをコンテナ化

• コンテナエンジン導入済み環境で、コンテナ単体の稼働可能

• コンテナサイズは大

• WebLogic導入済み環境で、コンテナ単体の稼働可能

• コンテナサイズは小

Page 32: Oracle WebLogic Serverで学ぶDockerの基本

Copyright © 2016 Oracle and/or its affiliates. All rights reserved. |

Program Agenda

1

2

3

4

Docker概要 -DockerとLinuxコンテナ技術-

OracleとDocker -OracleのDockerへの取り組み-

WebLogicとDocker -WebLogicマルチテナントとDocker-

Dockerを利用したWebLogic環境構築 -GitHub公開サンプルの紹介-

32

Page 33: Oracle WebLogic Serverで学ぶDockerの基本

Copyright © 2016 Oracle and/or its affiliates. All rights reserved. |

事前準備

33

•Dockerfile公式サンプル取得 •Oracle JDK取得 •WebLogic インストールメディア取得

Page 34: Oracle WebLogic Serverで学ぶDockerの基本

Copyright © 2016 Oracle and/or its affiliates. All rights reserved. |

Dockerfileオラクル公式サンプル取得

34

# git clone https://github.com/oracle/docker-images.git

コンテンツ取得

取得サイトサイト: https://github.com/oracle/docker-images

OracleWebLogic/ └── dockerfiles ├── 12.2.1 │ ├── Checksum.developer │ ├── Checksum.generic │ ├── Checksum.infrastructure │ ├── Dockerfile.developer │ ├── Dockerfile.generic │ ├── Dockerfile.infrastructure │ ├── fmw_12.2.1.0.0_infrastructure_Disk1_1of1.zip.download │ ├── fmw_12.2.1.0.0_wls_Disk1_1of1.zip.download │ ├── fmw_12.2.1.0.0_wls_quick_Disk1_1of1.zip.download │ ├── install.file │ └── oraInst.loc └── buildDockerImage.sh

取得内容抜粋

xxx.downloadにxxxを ダウンロードし配置する

Page 35: Oracle WebLogic Serverで学ぶDockerの基本

Copyright © 2016 Oracle and/or its affiliates. All rights reserved. |

Oracle Java Runtime取得

35

ダウンロードサイト: http://www.oracle.com/technetwork/java/javase/downloads/index.html

Server JRE選択

ライセンス 許諾をチェック

Page 36: Oracle WebLogic Serverで学ぶDockerの基本

Copyright © 2016 Oracle and/or its affiliates. All rights reserved. |

Oracle JDK配置

36

取得したserver-jre-8u91-linux-x64.tar.gzを配置

OracleJDK/ ├── java-7 │ ├── Dockerfile │ └── server-jre-7u80-linux-x64.tar.gz.download ├── java-8 │ ├── build.sh │ ├── Dockerfile │ └── server-jre-8u91-linux-x64.tar.gz.download └── README.md

該当箇所へファイルを配置

OracleJDK/ ├── java-7 │ ├── Dockerfile │ └── server-jre-7u80-linux-x64.tar.gz.download ├── java-8 │ ├── build.sh │ ├── Dockerfile │ └── server-jre-8u91-linux-x64.tar.gz └── README.md

Page 37: Oracle WebLogic Serverで学ぶDockerの基本

Copyright © 2016 Oracle and/or its affiliates. All rights reserved. |

WebLogic インストールメディア取得

37

ダウンロードサイト: http://www.oracle.com/technetwork/jp/middleware/weblogic/downloads/index.html

ライセンス 許諾をチェック

以下、 ダウンロード

Page 38: Oracle WebLogic Serverで学ぶDockerの基本

Copyright © 2016 Oracle and/or its affiliates. All rights reserved. |

Docker インストール

38

•Docker インストールスクリプト実行

Page 39: Oracle WebLogic Serverで学ぶDockerの基本

Copyright © 2016 Oracle and/or its affiliates. All rights reserved. |

Docker インストールスクリプト実行

39

# curl -fsSL https://get.docker.com/ | sh

インストールスクリプトを呼び出し最新版を導入(1.11) as of 2016/4

Page 40: Oracle WebLogic Serverで学ぶDockerの基本

Copyright © 2016 Oracle and/or its affiliates. All rights reserved. |

JDK 8 ベースイメージ作成

40

Page 41: Oracle WebLogic Serverで学ぶDockerの基本

Copyright © 2016 Oracle and/or its affiliates. All rights reserved. |

JDK 8 ベースイメージ作成

41

# cd docker-images/OracleJDK/java-8 # sh build.sh Sending build context to Docker daemon 59.87 MB Step 1 : FROM oraclelinux:latest latest: Pulling from library/oraclelinux a3ed95caeb02: Pull complete ffe36b360c6d: Pull complete Digest: sha256:105bd14defcd159cf35bc1ae4a180516c2b6d6da6faaa78c59617e0454d8566e Status: Downloaded newer image for oraclelinux:latest ---> adf2d3d00fce Step 2 : MAINTAINER Bruno Borges <[email protected]> ---> Running in 4ee22e07c841 Removing intermediate container 4ee22e07c841 Step 3 : ENV JAVA_PKG server-jre-8u*-linux-x64.tar.gz JAVA_HOME /usr/java/default PATH $PATH:/usr/java/default/bin ---> Running in fb610e4757a0 ---> a17aae039a1d Removing intermediate container fb610e4757a0 Step 4 : ADD $JAVA_PKG /usr/java/ ---> 0b2aa6294db2 Removing intermediate container d792dd25d031 Step 5 : RUN mv $(ls -1 -d /usr/java/*) $JAVA_HOME ---> Running in d4f2006d38c2 ---> 85f78325eb86 Removing intermediate container d4f2006d38c2 Successfully built 85f78325eb86

Page 42: Oracle WebLogic Serverで学ぶDockerの基本

Copyright © 2016 Oracle and/or its affiliates. All rights reserved. |

JDK 8 ベースイメージ確認

42

# docker images REPOSITORY TAG IMAGE ID CREATED SIZE oracle/jdk 8 85f78325eb86 About a minute ago 519.9 MB oraclelinux latest adf2d3d00fce 7 weeks ago 205.9 MB

作成したDockerイメージを確認

# docker images -a REPOSITORY TAG IMAGE ID CREATED SIZE oracle/jdk 8 85f78325eb86 2 minutes ago 519.9 MB <none> <none> 0b2aa6294db2 2 minutes ago 362.9 MB <none> <none> a17aae039a1d 3 minutes ago 205.9 MB <none> <none> 11fade4670cf 3 minutes ago 205.9 MB oraclelinux latest adf2d3d00fce 7 weeks ago 205.9 MB

Page 43: Oracle WebLogic Serverで学ぶDockerの基本

Copyright © 2016 Oracle and/or its affiliates. All rights reserved. |

WebLogicインストールイメージ作成

43

Page 44: Oracle WebLogic Serverで学ぶDockerの基本

Copyright © 2016 Oracle and/or its affiliates. All rights reserved. |

WebLogicインストールイメージ作成

44

# cd OracleWebLogic/dockerfiles # sh buildDockerImage.sh -v 12.2.1 -d Checking if required packages are present and valid... fmw_12.2.1.0.0_wls_quick_Disk1_1of1.zip: OK ===================== Building image 'oracle/weblogic:12.2.1-developer' ... Sending build context to Docker daemon 221.3 MB Step 1 : FROM oracle/jdk:8 ---> 85f78325eb86 Step 2 : MAINTAINER Bruno Borges <[email protected]> ---> Running in 4ee07ce1b484 Step 3 : ENV FMW_PKG fmw_12.2.1.0.0_wls_quick_Disk1_1of1.zip FMW_JAR fmw_12.2.1.0.0_wls_quick.jar ORACLE_HOME /u01/oracle USER_MEM_ARGS "-Djava.security.egd=file:/dev/./urandom" PATH $PATH:/usr/java/default/bin:/u01/oracle/oracle_common/common/bin ---> Running in 45c132b9117d ---> 73a7a40fb54c Removing intermediate container 45c132b9117d Step 4 : COPY $FMW_PKG install.file oraInst.loc /u01/ ---> ba162aee088f Removing intermediate container 0cfe19c46a5c Step 5 : RUN chmod a+xr /u01 && useradd -b /u01 -m -s /bin/bash oracle && echo oracle:oracle | chpasswd && cd /u01 && $JAVA_HOME/bin/jar xf /u01/$FMW_PKG && cd - && su -c "$JAVA_HOME/bin/java -jar /u01/$FMW_JAR -invPtrLoc /u01/oraInst.loc -jreLoc $JAVA_HOME -ignoreSysPrereqs -force -novalidation ORACLE_HOME=$ORACLE_HOME" - oracle && chown oracle:oracle -R /u01 && rm /u01/$FMW_JAR /u01/$FMW_PKG /u01/oraInst.loc /u01/install.file ---> Running in dcd6eb4cef9a

Page 45: Oracle WebLogic Serverで学ぶDockerの基本

Copyright © 2016 Oracle and/or its affiliates. All rights reserved. |

WebLogicインストールイメージ作成

45

/ Launcher log file is /tmp/OraInstall2016-04-27_04-54-06PM/launcher2016-04-27_04-54-06PM.log. Extracting files.... Starting Oracle Universal Installer Checking if CPU speed is above 300 MHz. Actual 2594.116 MHz Passed Checking swap space: must be greater than 512 MB. Actual 1023 MB Passed Checking if this platform requires a 64-bit JVM. Actual 64 Passed (64-bit not required) Checking temp space: must be greater than 300 MB. Actual 9181 MB Passed Preparing to launch the Oracle Universal Installer from /tmp/OraInstall2016-04-27_04-54-06PM Log: /tmp/OraInstall2016-04-27_04-54-06PM/install2016-04-27_04-54-06PM.log Setting ORACLE_HOME to /u01/oracle ***************************************************** Distribution Name : Oracle Fusion Middleware 12c WebLogic and Coherence Developer Distribution Version : 12.2.1.0.0 Oracle Inventory : /u01/oracle/.inventory Oracle Home : /u01/oracle Java Home : /usr/java/default *****************************************************

Page 46: Oracle WebLogic Serverで学ぶDockerの基本

Copyright © 2016 Oracle and/or its affiliates. All rights reserved. |

WebLogicインストールイメージ作成

46

Copyright (c) 1996, 2015, Oracle and/or its affiliates. All rights reserved. Skipping Software Updates [24/319]Validations are enabled for this session. Verifying data Copying Files Percent Complete : 10 Percent Complete : 20 Percent Complete : 30 Percent Complete : 40 Percent Complete : 50 Percent Complete : 60 Percent Complete : 70 Percent Complete : 80 Percent Complete : 90 Percent Complete : 100 The installation of Oracle Fusion Middleware 12c WebLogic and Coherence Developer 12.2.1.0.0 completed successfully. Logs successfully copied to /u01/oracle/cfgtoollogs/oui. [8/319] ---> fc1ca4a19c94 Removing intermediate container dcd6eb4cef9a Step 6 : USER oracle ---> Running in 5073466f0324 ---> cc3844cc8fe8 Removing intermediate container 5073466f0324 Step 7 : WORKDIR $ORACLE_HOME ---> Running in 2d2775d58785 ---> ee4ca74299b0 Removing intermediate container 2d2775d58785

Page 47: Oracle WebLogic Serverで学ぶDockerの基本

Copyright © 2016 Oracle and/or its affiliates. All rights reserved. |

WebLogicインストールイメージ作成

47

Step 8 : CMD bash ---> Running in a637a34369d8 ---> 16c978fca666 Removing intermediate container a637a34369d8 Successfully built 16c978fca666 WebLogic Docker Image for 'developer' version 12.2.1 is ready to be extended: --> oracle/weblogic:12.2.1-developer Build completed in 546 seconds.

Page 48: Oracle WebLogic Serverで学ぶDockerの基本

Copyright © 2016 Oracle and/or its affiliates. All rights reserved. |

WebLogicインストールイメージ確認

48

# docker images REPOSITORY TAG IMAGE ID CREATED SIZE oracle/weblogic 12.2.1-developer 16c978fca666 17 minutes ago 1.317 GB oracle/jdk 8 85f78325eb86 37 minutes ago 519.9 MB oraclelinux latest adf2d3d00fce 7 weeks ago 205.9 MB

作成したDockerイメージを確認

# docker images -a REPOSITORY TAG IMAGE ID CREATED SIZE oracle/weblogic 12.2.1-developer 16c978fca666 17 minutes ago 1.317 GB <none> <none> ee4ca74299b0 17 minutes ago 1.317 GB <none> <none> cc3844cc8fe8 18 minutes ago 1.317 GB <none> <none> fc1ca4a19c94 18 minutes ago 1.317 GB <none> <none> ba162aee088f 25 minutes ago 741.2 MB <none> <none> 73a7a40fb54c 26 minutes ago 519.9 MB <none> <none> 663add4a8bed 26 minutes ago 519.9 MB oracle/jdk 8 85f78325eb86 38 minutes ago 519.9 MB <none> <none> 0b2aa6294db2 38 minutes ago 362.9 MB <none> <none> a17aae039a1d 38 minutes ago 205.9 MB <none> <none> 11fade4670cf 39 minutes ago 205.9 MB oraclelinux latest adf2d3d00fce 7 weeks ago 205.9 MB

Page 49: Oracle WebLogic Serverで学ぶDockerの基本

Copyright © 2016 Oracle and/or its affiliates. All rights reserved. |

WebLogicインストールイメージ確認

49

Step 8 : CMD bash ---> Running in a637a34369d8 ---> 16c978fca666 Removing intermediate container a637a34369d8 Successfully built 16c978fca666 WebLogic Docker Image for 'developer' version 12.2.1 is ready to be extended: --> oracle/weblogic:12.2.1-developer Build completed in 546 seconds.

Page 50: Oracle WebLogic Serverで学ぶDockerの基本

Copyright © 2016 Oracle and/or its affiliates. All rights reserved. |

Oracle Confidential – Internal/Restricted/Highl

50

Page 51: Oracle WebLogic Serverで学ぶDockerの基本