2014年5月9日金曜日

DockerとRed Hat JBoss Data Virtualization

原文: Docker and Red Hat JBoss Data Virtualization by Kenneth Peeples


ファイナンシャルデモプロジェクトを使い、来週から Data Virtualization のワークショップブログシリーズを始めます。ワークショップのセットアップとイントロダクションでは、Data Virtualization、mySQL、Postgres を使います。個別のプラットフォームに対して個々のインストール/設定を紹介するのではなく、すべてのプロダクト(DV、MySQL、Postgres、JDK)をすぐに使える dockerイメージを使うことにしました。

今日は、パブリックリポジトリーからイメージを取得するかローカルでビルドする方法を簡単な例を使いご紹介します。その後、イメージに含まれる、Data Virtualization と連携するいくつかの例をご紹介します。Dockerに関する作業について、オランダの Cojan van Ballegooijen に感謝します。

  1. 概要
  2. イメージをビルド
  3. イメージをダウンロード
  4. 製品との連携

概要
Docker -
Dockerは、アプリケーションから簡単に軽量・ポータブル・自己完結的なコンテナを作成できるオープンソースプロジェクトです。開発者がノートパソコンでビルドしテストしたコンテナを仮想マシン上、ベアメタル上、OpenStackクラスター上、パブリッククラウド上などの本番環境で実行することができます。

Data Virtualization -
JBoss Data Virtualization は、データのプロビジョニング・フェデレーション・インテグレーション・管理ソリューションです。組織は実用的で統合された情報を得ることができます。Red Hat JBoss Data Virtualization はアジャイルなデータ活用を、3つの簡単なステップで実現します:

  • 接続(Connect): 様々な種類の複数データソースからデータにアクセス
  • 作る(Compose): 再利用可能でビジネスフレンドリーな論理的データモデルとビューを、データの結合や変換により簡単に作成
  • 使う(Consume): オープンな標準インターフェースを使い、統合されたデータを簡単に利用

Dockerに関する情報 : https://www.docker.io/learn_more/
Data Virtualizationに関する情報: http://www.jboss.org/products/datavirt.html

イメージをビルド

Step 1: DVワークショップリポジトリーをクローンする。dv-dockerが、今回利用するメインフォルダーです。
https://github.com/DataVirtualizationByExample/DVWorkshop.git

Step 2: プラットフォームに合わせてDockerをローカルマシンか仮想マシンへインストール。詳細は docker.ioサイトをご確認ください。私の場合、Fedora(VirtualBoxによる仮想マシン)へDockerをインストールしました。

Step 3: jboss.org/products から、Data Virtualization をダウンロード

Step 4: jboss-dv-installer-6.0.0.GA-redhat-4.jar を dv-docker/software フォルダーへ設置

Step 5:  Docker が実行されていない場合は root で開始

# systemctrl start docker

Step 6: 通常のログインユーザー(私の場合は kpeeples)で dockerのパーミッションを確認

docker info

もしこのような出力であれば

2014/05/09 15:06:51 dial unix /var/run/docker.sock: permission denied

下記コマンドでパーミッションを修正

$ sudo chmod a+rw /var/run/docker.sock

Step 7: build.sh を実行。これは、docker build -t jbossdv600 を内部で実行する。NOTE: RHEL 6 で mysqld start の実行時にエラーが出力された場合、dockerのビルド時に --no-cache オプションを付ける。詳細はこちら: http://docs.docker.io/reference/commandline/cli/#build

./build.sh

Step 8: 私がビルドした際に出力されたログは、こちらのテキストファイルでご確認ください - https://drive.google.com/folderview?id=0B5kKwcd4kOq9VUNycWtkQVZJS1U&usp=sharing

Step 9: イメージリストを確認

$ docker images

Step 10: コンテナリストを確認

$ docker ps

Step 11: インタラクティブモードでイメージに接続

$docker run -P -i -t jbossdv600 /bin/bash

Step 12: サービス(DV、MySQL、Postgres、MongoDB)を開始

#/home/jboss/run.sh &

イメージをダウンロード

Note: ダウンロードイメージはテスト中です。何か問題があればお知らせください
Note: イメージをビルドする変わりにダウンロードする方の作業です

Step 1: docker.io にアカウントを作成

Step 2: docker にログイン

$ sudo docker login

Step 3: リポジトリーを Pull

docker pull kpeeples/jbossdv600

Step 4: イメージリストを確認

$ docker images

Step 5: コンテナリストを確認

$ docker ps

Step 6: インタラクティブモードでイメージに接続

$ docker run -P -i -t jbossdv600 /bin/bash

Step 7: サービス(DV、MySQL、Postgres、MongoDB)を開始

# /home/jboss/run.sh &

Data Virtualization の実行を確認

Step 1: コンテナID を取得

docker ps

Step 2: MY_CID をコンテナIDに置き換え、IPアドレスを確認

docker inspect --format '{{ .NetworkSettings.IPAddress }}' MY_CID

Step 3: MY_IP をStep2で確認した IPに置き換え、ブラウザから Data Virtualization にアクセス

http://MY_IP:8080/

Step 4: My_IP を Step2で確認した IPに置き換え、ブラウザから Data Virtualization Dashboard にアクセス。ユーザー:user パスワード:user

http://MY_IP:8080/dashboard/

ワークショップシリーズでは、内部・外部からデータベースにアクセスします。

原文: Docker and Red Hat JBoss Data Virtualization by Kenneth Peeples

2 件のコメント:

  1. 話題の Docker を使った JBoss Data Virtualization のワークショップを Kenneth さんが始めています。Teiid や dashbuilder だけでなく、Docker の魅力を体験されたい方はぜひチャレンジしてください!

    返信削除
  2. 翻訳ありがとうございました。MacOSXでもビルドできました。

    Dockerfileの行125あたりに、run.shを作成のところにタイプミスがあるようです。
    誤: RUN echo "#!/bin/sh"
    正: RUN echo "#!/bin/sh" > $HOME/run.sh

    返信削除