Docker and JBoss Data Virtualization
Docker 환경에서 JDV (JBoss Data Virtualization) Workshop을 실습해 보는 내용입니다.
앞서의 블로그 포스트에서 설명한 CentOS 6.5에서 Docker 1.0을 설치한 후, JDV Workshop 데모를 위한 도커 컨테이너를 작성하고 직접 실행해 보는 내용입니다.
본 내용은 Docker 1.0이 설치되어져 있는 환경을 전제로 진행하기 때문에 도커를 미리 설치해야 합니다.
JDV Workshop 실습을 위한 도커 컨테이너를 만드는 과정은 매우 간단합니다.
또한 컨테이너에 실습에 필요한 JDV 설치, PostgeSQL 설치, 각종 파일 복사, 환경 설정들도 이미 정의된 Build 스크립트에 의해서 자동으로 설치/구성 됩니다.
JDV Workshop 을 위한 도커 컨테이너를 작성하는 과정을 시작하기 전에 아래의 내용들을 참조해 주세요.
사전에 호스트에 준비되어야 하는 사항들은 다음과 같습니다. 
  • OpenJDK 1.6 or 1.7 or Oracle JDK 1.6 or 1.7
  • Download [Red Hat JBoss Data Virtualization 6.0.0.GA](http://www.jboss.org/products/datavirt/overview/)
  • Download [Red Hat JBoss Developer Studio 7.1.1](http://www.jboss.org/products/devstudio/overview/)

1. Github에서 DVWorkshop 다운로드

먼저 git 를 설치합니다.

sudo yum install git 

Github으로 부터 JDV Workshop 에 필요한 Lab 파일들을 다운로드 받습니다.

$ git clone https://github.com/DataVirtualizationByExample/DVWorkshop.git

2. 다운로드한 파일들을 복사

이미 다운로드된 JBoss Data Virtualization과 JBoss Developer Studio를  $DVWorkshop/dv-docker 이하 /software 디렉토리에 복사합니다.

3. JDV Workshop 를 Build

아래와 같이 실행해 주면  자동으로 Docker 컨테이너와 JDV Woskhop 과정들이 진행됩니다.
많은 작업들이 진행되기 때문에 시간도 꽤 필요합니다.

$ cd DVWorkshop/DVWorkshop/
$ pwd
/home/admin/gits/DVWorkshop/dv-docker
$ sudo ./build.sh

build 가 완료되면 Workshop 에 필요한 도커 이미지가 생성되었는지 확인해 봅니다.

$ sudo docker images
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
jbossdv600 latest 17af6074944c About a minute ago 1.238 GB
centos centos6 0c752394b855 12 days ago 124.1 MB
centos latest 0c752394b855 12 days ago 124.1 MB
fedora 20 3f2fed40e4b0 2 weeks ago 372.7 MB
fedora heisenbug 3f2fed40e4b0 2 weeks ago 372.7 MB
fedora latest 3f2fed40e4b0 2 weeks ago 372.7 MB
fedora rawhide 64fd7993bcaf 2 weeks ago 366.8 MB
centos 6.4 539c0211cd76 14 months ago 300.6 MB

도커 프로세스가 실행 중인지 확인합니다.

$ sudo docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES

4. JDV 도커 실행하기

도커 컨테이너를 실행합니다. (참고로 locale 관련한 Warning 메세지 출력될 수 있으나 일단 무시합니다.)

$ sudo docker run -P -i -t jbossdv600 /bin/bash
[root@a996958ba0ad /]#

5. JDV 를 실행하기

도커 컨테이너를 실행합니다. (참고로 locale 관련한 Warning 메세지 출력될 수 있으나 일단 무시합니다.)

# /home/jboss/run.sh &

6. JDV Dashboard 에 접속하기

도커 컨테이너에서 실행되는 프로세스로 접속하기 위해서는 내부와 외부에서 접속할 수 있는 서비스 IP 와 포트를 확인해야 합니다.
내부에서 사용되는 JDV 와 관련있는 대표적인 포트는 8080 서비스 포트와 9990 관리자 웹콘 솔 포트이며, 외부에서 접속하기 위한 포트번호는 각각 49158과 49159 로 바인딩되어 있는 것을 확인 할 수 있습니다.
또한 도커 컨테이너 ID 가 ‘a996958ba0ad’ 인 것을 확인할 수 있습니다.

$ sudo docker ps
[sudo] password for admin:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
a996958ba0ad jbossdv600:latest /bin/bash 24 hours ago Up 24 hours 
0.0.0.0:49153->22/tcp, 0.0.0.0:49154->27017/tcp, 
0.0.0.0:49155->31000/tcp, 0.0.0.0:49156->3306/tcp, 
0.0.0.0:49157->5432/tcp, 0.0.0.0:49158->8080/tcp, 
0.0.0.0:49159->9990/tcp, 0.0.0.0:49160->9999/tcp grave_newton

도커를 실행 중인 서버에서 접속할 수 있는 내부 IP 주소는 다음과 같이 확인 할 수 있습니다.

$ sudo docker inspect --format '{{ .NetworkSettings.IPAddress }}' a996958ba0ad
172.17.0.4
JDV Dashboard 로 접속할 수 있는 IP와 포트번호는 아래와 같이 내부와 외부로 나누어져 있습니다.
미리 정의된 JDV 접속 사용자 정보와 JDV 가 실행되는 JBoss EAP 관리콘솔에 대한 접속정보도 아래와 같습니다.
  • JBoss EAP 접속 정보 = usename =admin / password = redhat1!
  • JDV 접속 정보 = username : user/ password : user
먼저 외부에서 JDV Dashboard 로 접속해보도록 하겠습니다. 
웹브라우저에서 "http://192.168.0.52:49158/dashboard/" 입력하고 user/user 로 로그인 할 수 있습니다.

JBoss Data Virtualization Dashboard