2) IBM WAS Liberty 컨테이너 설치하기
이전 파트까지 Docker 를 위한 환경준비가 완성되었으면 이제 실질적으로 Docker 이미지를 검색해서 IBM WAS Liberty 컨테이너를 설치해보도록 하겠습니다.
컨테이너를 설치하기 위해서는 Docker 에서 가지고 있는 이미지를 확인해봅니다. 당연히 이제 막 설치했기 때문에 가지고 있는 이미지가 없는 것으로 나옵니다.
sudo docker images
이제 IBM WebSphere Liberty 컨테이너를 가지고 오기 위해서 Docker hub 에서 search 를 수행해봅니다.
sudo docker search websphere-liberty
해 당 작업을 수행하시면 상단에 그림과 같이 websphere-liberty 라는 이름으로 IBM WebSphere Liberty 컨테이너가 등록되어 있는 것을 확인할 수 있습니다. IBM 은 WebSphere Liberty 를 위한 official Docker 이미지를 Docker hub 에 등록/제공하고 있습니다.
https://registry.hub.docker.com/u/library/websphere-liberty/
Docker hub 에 해당 이미지가 있는 것을 확인했으면 이제 해당 이미지를 local 에 설치된 Docker 로 가지고 오는 작업을 수행합니다.
sudo docker pull webspehre-liberty:latest
해당 작업이 정상적으로 완료된 후에 이미지를 확인해보면 하단과 같이 IBM WebSphere Liberty 가 본인의 Docker 환경에 추가된 것을 확인해볼 수 있습니다.
sudo docker images
참고 #1) Windows 환경에서 Boot2Docker 의 VM 을 운영하면서 서로 간에 파일 공유를 위한 공유 폴더 생성
Windows 환경에서 공유할 폴더를 지정하고 공유를 수행합니다. Docker 와 Windows 폴더를 공유하기 위해서는 추가적인 도구가 필요하며 해당 도구를 다운로드 받습니다.
wget http://distro.ibiblio.org/tinycorelinux/5.x/x86/tcz/cifs-utils.tcz
tce-load -i cifs-utils.tcz
도구가 정상적으로 설치 완료되면 Windows 에서 공유한 폴더와 Docker 에서 공유를 위해 생성한 폴더를 공유하기 위해서 Docker 에서 mount 작업을 수행합니다.
sudo mount -t cifs //192.168.59.3/shared /mnt/sharefolder -o username=KR050578
해당 작업이 정상적으로 수행 완료되면 하단과 같이 Windows 와 Docker 가 공유폴더를 통해서 파일 교환이 가능한 것을 확인할 수 있습니다.
3) Docker 에서 IBM WAS Liberty 컨테이너 실행하기
Docker 를 위한 환경 설정과 IBM WAS Liberty 컨테이너 이미지까지 전부다 가져왔으면 이제 남은 것은 해당 컨테이너를 실행 해보는 것입니다. 실행을 위해서 추가적으로 샘플 애플리케이션까지 올려서 사용할 것인데 샘플 애플리케이션은 IBM WebSphere Liberty 에서 제공하는 샘플 애플리케이션을 활용하도록 하겠습니다.(DefaultServletEngine sample.)
https://developer.ibm.com/wasdev/docs/article_appdeployment/
샘 플 애플리케이션을 다운로드 받고 해당 파일을 Docker 로 옮겨서 압축을 풉니다. 압축을 푼 후에는 이제 실제로 IBM WebSphere Liberty 컨테이너 실행을 해봅니다. (샘플 애플리케이션은 /tmp 에 압축을 풀어서 작업하는 형태로 진행하겠습니다.)
docker run -e LICENSE=accept -d -p 80:9080 -p 443:9443 \
-v /tmp/DefaultServletEngine/dropins/Sample1.war:/opt/ibm/wlp/usr/servers/defaultServer/dropins/Sample1.war \
websphere-liberty
참고: 여기서 –p 옵션은 포트 포워딩을 의미하며 –v 는 Docker 의 Host VM 과 컨테이너 간의 공유 폴더 형태의 mount 작업입니다.
컨테이너 실행이 완료되면 Docker 형태로 process 가 시작되었는지 확인해봅니다.
(여기서는 나중에도 사용하기 위하여 Container ID 를 같이 확인하셔야 합니다.)
sudo docker ps -l
Docker 형태의 IBM WebSphere Liberty 컨테이너 실행에 문제가 없었으면 브라우저를 이용해서 실제 서비스를 호출해봅니다. 호출을 수행하면 하단과 같이 바로 결과가 나오는 것을 확인할 수 있습니다.
http://192.168.59.103/Sample1/SimpleServlet
추가로 Docker 명령을 통해서 IBM WebSphere Liberty 컨테이너에 존재하는 log 파일을 바로 확인해볼 수도 있습니다. (하단의 10ddf79fcfa7 는 컨테이너 ID 입니다.)
sudo docker exec 10ddf79fcfa7 tail -F /opt/ibm/wlp/usr/servers/defaultServer/logs/messages.log
또는, Docker 환경에서 바로 컨테이너로 접속하여 일반적인 VM 위의 OS 와 같은 모든 작업을 수행할 수도 있습니다.
sudo docker exec -i -t 10ddf79fcfa7 bash
여기까지 잘 따라오셨다면 처음에 언급 드린 것처럼 Docker 설치, Docker 를 활용한 IBM WebSphere Liberty 컨테이너 설치, 샘플 애플리케이션 수행까지 완료한 것입니다. 즉, Docker 를 이용하여 IBM WebSphere Liberty 서버 활용을 해보신 것 입니다. 이번 강좌는 기본적인 부분을 다룬 것이며 이를 활용하면 Docker 를 이용하여 IBM WebSphere Liberty 서버 DevOps 환경 구성 및 수행도 가능해 질 수 있습니다. 그럼 이만...^^&
9) 참고 자료
How to Use Docker on Windows
http://blog.tutum.co/2014/11/05/how-to-use-docker-on-windows/
Windows in Docker official site
https://docs.docker.com/installation/windows/
websphere-liberty official repository for Docker
https://registry.hub.docker.com/u/library/websphere-liberty/
Application Deployment in Liberty
https://developer.ibm.com/wasdev/docs/article_appdeployment/
'IBM - old > WAS Liberty 강좌' 카테고리의 다른 글
[Liberty]IBM WAS Liberty 의 PoT 자료 오픈 (0) | 2017.05.18 |
---|---|
Monitoring and Analytics with IBM WAS Liberty (0) | 2016.12.14 |
Docker 를 이용한 IBM WAS Liberty 서버 활용하기 1/2 (0) | 2016.07.11 |
IBM WAS Liberty 서버 기반 전자정부 프레임워크(Spring) 개발 가이드 03 (0) | 2016.06.27 |
IBM WAS Liberty 서버 기반 전자정부 프레임워크(Spring) 개발 가이드 02 (0) | 2016.06.27 |
댓글