위키득계정 ↗
기술

Ko 컨테이너 빌드

Ko 컨테이너 빌드기술
주요 대상
Go 응용
대표 사용
단일 Go 프로그램 이미지
빌드 방식
로컬 Go 빌드 활용
기본 산출 정보
SBOM
Ko는 Go 응용을 컨테이너 이미지로 만드는 빌드 도구다. 로컬에서 Go 빌드를 수행해 이미지를 구성하므로 Docker 설치 없이 사용할 수 있고 다중 플랫폼 빌드와 SBOM 생성을 지원한다.

Go 프로그램에서 이미지로

Go 응용을 빌드한 결과로 컨테이너 이미지를 구성한다. 별도로 Docker를 설치하지 않아도 이미지 빌드를 수행할 수 있다. 컨테이너 이미지를 만드는 과정과 이를 실제로 실행할 컨테이너 런타임의 역할은 구분된다.

적합한 응용의 조건

이미지에 하나의 Go 프로그램을 담고 운영체제 기반 이미지에 의존하는 항목이 적은 경우에 초점을 둔다. cgo나 별도 운영체제 패키지가 필요한 응용은 이러한 단순한 조건과 다르다. 모든 언어의 모든 프로젝트를 같은 방법으로 빌드하는 일반 도구로 볼 수는 없다.

플랫폼과 Kubernetes 활용

여러 플랫폼을 위한 이미지를 만들고 기본적으로 소프트웨어 구성 정보를 담는 SBOM을 생성한다. 간단한 YAML 템플릿 기능도 제공해 Kubernetes 응용 흐름에 활용할 수 있다. SBOM을 만든다는 사실과 포함된 의존성에 문제가 없는지 판단하는 검사는 별개의 작업이다.

관련 문서

Jib / BuildKit / Docker Buildx / Go / Kubernetes / SPDX