17-1. 도커 이미지를 최적화하는 방법
- 도커 컨테이너 교체 시 기존의 컨테이너는 그대로 남아있다. 이를 해결하기 위해 rm을 사용하더라고 파잇 시스템 상 표시가 안될 뿐이지 남아서 용량을 차지한다.
- 가장 좋은 것은 이미지 생성 시 필요한 파일만 COPY로 사용하는 것이고, .dockerignore파일로 불필요한 파일을 지정할 수 있다.
17-2. 좋은 기반 이미지를 고르는 법
- sdk도구가 포함된 기반 이미지는 도구의 api릉 이용해 해킹당할 수 있다. 가장 좋은 것은 빌드 도구를 이미지에 포함시키지 않는 것이고, anchore와 같은 서드파티 도구를 이용해 빌드 도중 보안검사릉 진행시킬 수도 있다.
- 앤코어는 젠킨스같은 CI/CD도구용 플러그인을 제공하여 원하는 정책을 포함시킬 수 있다.
17-3. 이미지 레이어 수와 크기는 최소한으로
- 같은 패키지를 설치하더라고 apt-get --no-install-recommand와 같은 옵션으로 추천 패키지를 설치하지 않게한 최적화가 가능하다.
- 또한 ai와 같은 압축파일의 경우 필요한 파일만 압축해제하자.
17-4. 멀티스테이지 빌드를 한단계 업그레이드하기
- 설정 파일을 이미지로 복사하는 과정을 마지막에 거치게되면, 캐시를 활용할 수 있다.(자주 변경되는 레이어를 뒷단에 배치)
17-5. 최적화가 중요한 이유
- 개발환경, CI/CD 파이프라인, 테스트 환경, 운영환경을 단계별로 최적화하자