Go 프로그램에서 이미지로
Go 응용을 빌드한 결과로 컨테이너 이미지를 구성한다. 별도로 Docker를 설치하지 않아도 이미지 빌드를 수행할 수 있다. 컨테이너 이미지를 만드는 과정과 이를 실제로 실행할 컨테이너 런타임의 역할은 구분된다.
적합한 응용의 조건
이미지에 하나의 Go 프로그램을 담고 운영체제 기반 이미지에 의존하는 항목이 적은 경우에 초점을 둔다. cgo나 별도 운영체제 패키지가 필요한 응용은 이러한 단순한 조건과 다르다. 모든 언어의 모든 프로젝트를 같은 방법으로 빌드하는 일반 도구로 볼 수는 없다.
플랫폼과 Kubernetes 활용
여러 플랫폼을 위한 이미지를 만들고 기본적으로 소프트웨어 구성 정보를 담는 SBOM을 생성한다. 간단한 YAML 템플릿 기능도 제공해 Kubernetes 응용 흐름에 활용할 수 있다. SBOM을 만든다는 사실과 포함된 의존성에 문제가 없는지 판단하는 검사는 별개의 작업이다.
관련 문서
Jib / BuildKit / Docker Buildx / Go / Kubernetes / SPDX