Google Container Engine으로 서버 환경 구축해보기 1편
- 2016 July 09 Google Container Engine으로 서버 환경 구축해보기 1편GDG 모임에서 이런저런 이야기나오다가 토이프로젝트를 해보자는 말에 그동안 미뤄왔던 Docker와 Java8 관련 코딩을 한번 해보자는 생각에 시작해봅니다. 일단 Hello World까지 만들 서버 환경은
Google Container Engine + Docker그럼 일단 Docker Image 부터 만들어보자. nginx + tomcat 연동하기mac에서 Docker가 지원된다고 하니 굳이 cloud 환경에서 만들어서 올리지말고 내 로컬에서 해보기로 합니다. 일단 Docker를 처음 써보는 것이니 튜토리얼 투어를 떠나 봅니다.
제가 위의 예제로 만들어둔 80포트를 열어서 이미지를 docker로 올려봅니다.
컨테이너 안으로 들어가서 이제 nginx를 실행합니다.
브라우저로 연결하기 이전에 우선
보면 알겠지만 WAS complie이 필요없는 것들만 처리하도록 합니다. 그래서 만들어진 설정은 아래와 같습니다.
설정을 바꿨으니 nginx 재시작
이제 톰캣을 실행합니다.
그럼 이제 다시 이제 만들어진 이미지를 자기가 원하는 이름으로 이미지 저장합니다. 자동 실행되도록 설정하기이제 컨테이너가 Docker에 올라가는 시점에 웹서버가 바로 실행될 수 있도록 설정을 합니다. 우선
위 한줄을 추가하면 nginx가 daemon이되어 background로 빠지지 않고 foreground로 동작합니다. 하지만 이것은 nginx가 실행되었을때 background로 빠져버러 docker process가 바로 종료되는 문제를 해결할 뿐입니다. 실행시 nginx를 start 시켜주지는 못합니다. 그래서 저는 우선
위와 같이 저장하고 아래 명령으로 build 합니다.
그러면 해당 이미지를 실행하면 브라우저를 통해
로컬 개발 Directory를 컨테이너에 연동하기이제 웹사이트 개발을 해야하는데 매번 github에 올리고 컨테이너에서 pull하고 하는 불편한 방법으로는 무리가 있습니다. Docker는 local의 filesystem을 container filesystem으로 mount해주는 기능이 있습니다. 아래의 명령처럼 이미지를 실행하시면 됩니다.
위와 같이 실행하면 container안에서 원하는 이미지를 만들 수 있게되었으니 이걸 나중에는 Google Container Registry에 올려둡니다. 다음 글에서 이제 GKE를 이용한 처리를 이야기해보겠습니다. |