블로그를 방치한지 꽤 됬다. 블로그의 포스팅 빈도는 나의 여유 시간과 비례한다.
이번 포스트에서는 예에전에 업데이트됬던 Multi-stage 빌드에 대해서 알아보고자 한다. 나는 개인적으로 이 기능이 매우 맘에 든다.
예전에 이런 경험이 있었다. 사내 프로젝트 도중 영상처리 애플리케이션을 컨테이너화 해야 할 일이 있었는데, 인수인계 받은 소스코드를 빌드하기 위해서 컨테이너 안에서 OpenCV를 설치하고, MPEG 깔고..
여러가지 라이브러리를 설치했다. 그리고 나서 소스코드를 빌드한 뒤 컨테이너를 Commit해 이미지로 만들어보니 이미지의 크기가 5기가가 넘는다.
황당하기 그지없다. Registry Web Dashboard.
압축됬는데 2.5기가다. 저렇게 이미지의 용량이 괴랄한 이유는 당연히 OpenCV 라이브러리 때문이다.
사실 나는 빌드된 실행파일 하나만 있으면 되는데, 저렇게 이미지 크기가 커져 버리니 Dockerfile로 빌드하는 것도 고역이고, 배포하는 것도 귀찮다. 그래...