ファイナンシャルデモプロジェクトを使い、来週から Data Virtualization のワークショップブログシリーズを始めます。ワークショップのセットアップとイントロダクションでは、Data Virtualization、mySQL、Postgres を使います。個別のプラットフォームに対して個々のインストール/設定を紹介するのではなく、すべてのプロダクト(DV、MySQL、Postgres、JDK)をすぐに使える dockerイメージを使うことにしました。
今日は、パブリックリポジトリーからイメージを取得するかローカルでビルドする方法を簡単な例を使いご紹介します。その後、イメージに含まれる、Data Virtualization と連携するいくつかの例をご紹介します。Dockerに関する作業について、オランダの Cojan van Ballegooijen に感謝します。
- 概要
- イメージをビルド
- イメージをダウンロード
- 製品との連携
概要
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
話題の Docker を使った JBoss Data Virtualization のワークショップを Kenneth さんが始めています。Teiid や dashbuilder だけでなく、Docker の魅力を体験されたい方はぜひチャレンジしてください!
返信削除翻訳ありがとうございました。MacOSXでもビルドできました。
返信削除Dockerfileの行125あたりに、run.shを作成のところにタイプミスがあるようです。
誤: RUN echo "#!/bin/sh"
正: RUN echo "#!/bin/sh" > $HOME/run.sh