본문 바로가기
Tech/Containers

[Docker]컨테이너를 이용하여 웹 어플리케이션 배포하기(3티어구조) #2

by 타이호 2018. 3. 27.
반응형

이전 포스트에서 Tomcat과 MySQL을 Docker 컨테이너로 연동했다. 

이번 포스트에서는 apache 웹서버를 통해 접속하는 구성을 해본다.

그래서 WEB(Apache) - WAS(Tomcat) - DB(MySQL)의 3티어 구조를 완성한다.


Apache - Tomcat 연동 (mod_jk)

아파치와 톰캣은 연동은 아래 링크를 참조 한다. 

http://www.kangtaeho.com/41


Build Apache Docker Image

아래 링크에 있는 샘플 예제를 통해 Dockerfile을 만들고, mod_jk 구성에 필요한 파일들로 이미지를 빌드한다.

https://github.com/Paritosh-Anand/Docker-Httpd-Tomcat/tree/master/httpd

참고로 worker.properties 파일에 해당 부분은 실제 tomcat 컨테이너 이름으로 변경한다

worker.web_1.host=tomcat-petclinic


Run Apache2 Docker Container

테스트용으로 아파치는 80포트만 오픈하고, tomcat 컨테이너는 AJP 포트 8009를 추가로 오픈한다. 

그리고 아파치 컨테이너는 --link 옵션으로 tomcat 컨테이너 이름을 지정한다.(worker.properties에 정의된 이름과 동일)

# run tomcat container

docker run -it --rm -p 8009:8009 -p 8080:8080 --name tomcat-petclinic  --link mysql-petclinic tomcat-petclinic

# run apache container

docker run -it --rm -p 80:80 --name apache-petclinic --link tomcat-petclinic apache-petclinic


실행 확인

정상적으로 실행이 되고 80포트로 접속을 해본다.


반응형