in DevOps with Docker

도커 이미지 빌드

도커로 웹앱을 빌드하는 작업은 적당한 환경이 제공되지 않으면 불편하다.
이때 가장 중요한건 도커 레지스트리 – 이미지저장소 이다.
편한 도커이미지 빌드환경을 구성하려고

첫번째 ec2로 젠킨스와 레지스트리를 설치했다.
레지스트리는 https를 지원해야 해서 인증서를 설치하고 젠킨스가 레지스트리에 푸시할때 시간이 덜 걸리라고
같은 vm에 함께 구성했다. 그런데 이렇게 해놓고 1-2주 정도 지나니 용량 문제가 발생했다.
ebs 용량 30기가가 금방 차버렸다.

두번째 도커허브 자동빌드를 설정했다.
bitbucket에 전용 레파지터리를 만들어 두고 푸시되면 자동빌드가 되도록 설정했다.
용량걱정이나 관리부담은 덜었지만 빌드가 즉시 실행되지 않고 패러럴 빌드가 실행되는게 불편했다.
그리고 생각보다 빌드속도가 느렸다.
게다가 앱을 패키징해서 git에 푸시했는데 최신본이 잘 반영되지 않는 이슈도 있었다.

세번째 로컬빌드후 도커허브에 푸시한다.
빌드를 로컬에서 실행하도록 했다. 로컬에서 패키징과 빌드가 되는게 좀 찜찜했지만 그래도 속도는 빨랐다.
도커허브에 태그로 푸시해놓을수 있으니 배포도 편해졌다.

결론.
로컬 빌드, DockerHub 레파지터리 사용.
전용서버가 한대 있다면 젠킨스로 빌드해서 DockerHub에 푸시해놓고 다른 서버에서 풀링해서 쓰도록 하는게 좋다.

Write a Comment

Comment