Rails 컨테이너의 docker build 가속화
BuildKit
세부 사항까지 이해하지 못했지만, 정리하면,
이러한 메커니즘은 빌드를 가속화하는 것 같습니다.
이용방법
BuildKit은
docker v18.06
에서 사용할 수 있습니다.환경 변수
DOCKER_BUILDKIT=1
를 설정하기만 하면 됩니다.BuildKit 사용 안 함
BuildKit을 비활성화합니다.
$ export DOCKER_BUILDKIT=0
중간 레이어 삭제 및 캐시 미사용 옵션으로 빌드.
$ docker build . --rm --no-cache -t rails_app -f dockerfiles/rails/Dockerfile
빌드 시간은
4m27s
이었습니다.BuildKit 사용 시
다음을 활성화하고 빌드해 보겠습니다.
$ export DOCKER_BUILDKIT=1
$ docker build . --rm --no-cache -t rails_app -f dockerfiles/rails/Dockerfile
빌드 시간은
2m54s
이었습니다.약 35%의 빌드 시간 삭감이 되었습니다! (물론 환경이나 이미지의 내용에도 의지합니다만)
빌드 시간 단축 이외에 기뻤다.
빌드 중 화면 출력이 보기 쉬워졌습니다.
기존의 빌드에서는 방대한 길이가 되는데 내용도 알기 어려웠습니다.
BuildKit에서는 상태가 레이어별로 그룹화됩니다.
또, 병렬로 처리가 진행되고 있는 것을 봐 알게 되어 있습니다.
요약
BuildKit를 활성화하여 빌드 시간을 단축할 수 있음을 확인했습니다.
BuildKit에는 이 외에도 기밀 정보를 컨테이너에 건네주는 옵션이나, SSH 에이전트에 의한 접속을 허가하는 옵션등이 추가되고 있는 것 같습니다. 또 기회에 시험해보고 싶습니다.
덧붙여서, 빌드한 Dockerfile 은 이쪽입니다.
Reference
이 문제에 관하여(Rails 컨테이너의 docker build 가속화), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/sasamuku/items/4f6bd369a7155e4926ae텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)