docker에서 as builder 를 사용하는 이유
목차
왜 쓸까?
docker에서 as builder를 사용하는 경우가 있더라구요
로컬에서 빌드하고 아티팩트를 컨테이너에 복사하면 되는데 굳이 그럴 필요가 있나 싶었습니다.
하지만 사람마다 빌드하는 환경이 달라서 해당 환경을 모두 동일하게 하기 위해 builder 이미지를 따로 사용하는 것 같습니다.
해당 이미지를 가지고 개발을 하기 때문이죠.
설명
Docker는 소프트웨어 빌드를 위한 표준화되고 격리된 환경을 제공하기 때문에 종종 빌더로 사용됩니다. 개발자는 Docker를 사용하여 애플리케이션을 빌드하는 데 필요한 모든 종속성 및 도구를 포함하는 컨테이너 이미지를 생성할 수 있습니다. 그런 다음 이 컨테이너를 다른 팀 구성원과 공유할 수 있으므로 모든 사람이 동일한 환경에서 작업하는지 쉽게 확인할 수 있습니다.
Docker는 또한 애플리케이션을 위한 일관된 런타임 환경을 제공합니다. 즉, 개발자가 컨테이너에서 애플리케이션을 빌드하고 Docker를 지원하는 다른 환경에서 동일한 방식으로 실행될 것이라는 확신을 가질 수 있습니다. 이는 개발, 테스트 및 프로덕션 환경 간에 차이가 있는 시나리오에서 특히 유용합니다.
마지막으로 Docker를 빌더로 사용하면 소프트웨어 개발 프로세스를 간소화하여 개발자가 애플리케이션을 쉽고 빠르게 빌드, 테스트 및 배포할 수 있습니다. 빌드 프로세스를 컨테이너에 캡슐화하면 쉽게 자동화하고 CI/CD(지속적인 통합 및 배포) 파이프라인에 통합할 수 있습니다. 이는 개발 프로세스의 속도와 안정성을 개선하는 동시에 최종 애플리케이션에서 오류 및 버그의 가능성을 줄이는 데 도움이 될 수 있습니다.
Reference
https://docs.docker.com/build/building/multi-stage/