19장. Buildah를 사용하여 컨테이너 이미지 빌드
Buildah는 OCI 런타임 사양 을 충족하는 OCI 컨테이너 이미지를 쉽게 빌드합니다. Buildah를 사용하면 이미지를 처음부터 시작하거나 시작점으로 사용하여 작업 중인 컨테이너를 생성할 수 있습니다. 컨테이너 파일의 지침을 사용하거나
에 있는 명령을 에뮬레이션하는 일련의 Buildah 명령을 사용하여 작업 컨테이너에서 이미지를 생성할 수 있습니다.
Containerfile
19.1. Buildah 툴
Buildah 사용은 다음과 같은 방법으로 docker 명령으로 이미지를 빌드하는 것과는 다릅니다.
- 데몬 없음
- Buildah에는 컨테이너 런타임이 필요하지 않습니다.
- 기본 이미지 또는 스크래치
- 다른 컨테이너를 기반으로 이미지를 빌드하거나 빈 이미지(scratch)로 시작할 수 있습니다.
- 빌드 툴은 외부입니다.
Buildah에는 이미지 자체 내에 빌드 툴이 포함되지 않습니다. 결과적으로 Buildah는 다음과 같습니다.
- 빌드된 이미지의 크기를 줄입니다.
- 결과 이미지에서 소프트웨어(예: gcc, make, dnf)를 제외하여 이미지 보안을 강화합니다.
- 이미지 크기가 줄어들어 더 적은 리소스를 사용하여 이미지를 전송할 수 있습니다.
- 호환성
- Buildah는 Dockerfile을 사용하여 컨테이너 이미지를 빌드하여 Docker에서 Buildah로 쉽게 마이그레이션할 수 있도록 지원합니다.
참고
컨테이너 스토리지에 대한 기본 위치 Buildah는 CRI-O 컨테이너 엔진이 이미지 로컬 사본을 저장하는 데 사용하는 위치와 동일합니다. 결과적으로 CRI-O 또는 Buildah를 통해 레지스트리에서 가져오거나 buildah 명령으로 커밋한 이미지는 동일한 디렉터리 구조에 저장됩니다. 그러나 CRI-O 및 Buildah가 현재 이미지를 공유할 수 있더라도 컨테이너를 공유할 수 없습니다.