반응형
부제: 스크립트로 한 줄씩 쌓아 만드는 OCI 이미지
buildah --version # 버전 확인
buildah from registry.access.redhat.com/ubi9 # 베이스로 워킹 컨테이너 생성
buildah images # 로컬 이미지 목록
buildah containers # 빌드 중인 워킹 컨테이너 목록
buildah version 1.43.2 (image-spec 1.1.1, runtime-spec 1.2.1)이미지를 만드는 전용 도구다. podman build도 내부에서 buildah를 쓴다. Containerfile(=Dockerfile)로 빌드하는 것은 물론, buildah from → buildah run → buildah commit처럼 셸 스크립트로 레이어를 한 단계씩 직접 쌓을 수 있다. 데몬이 없고 루트리스로 돌기 때문에 CI 러너 안에서 특권 없이 이미지를 굽기 좋다. docker build가 데몬에 의존하는 것과 달리, buildah는 그 자체가 독립 실행 파일이다.
이렇게도 쓴다
Containerfile로 표준 빌드를 한다.
buildah bud -t myapp:1.0 .
베이스 이미지 없이 완전 빈 이미지에서 시작한다. 극단적으로 작은 이미지를 만들 때.
buildah from scratch
워킹 컨테이너 안에서 명령을 실행해 레이어를 쌓는다.
ctr=$(buildah from ubi9); buildah run $ctr -- dnf -y install nginx
빌드한 이미지를 skopeo 없이 바로 레지스트리로 밀어 넣는다. (buildah + push)
buildah push myapp:1.0 docker://registry.example.com/myapp:1.0
이미지 설정을 나중에 수정한다. ENTRYPOINT나 포트 노출을 커밋 전에 손본다.
buildah config --port 8080 --entrypoint '["/usr/sbin/nginx"]' $ctr
멀티아키텍처 매니페스트를 만든다.
buildah manifest create myapp:multi반응형
'명령어 > Linux' 카테고리의 다른 글
| [RHEL] biosdevname BIOS 기반 네트워크 장치 이름 조회 (0) | 2026.07.18 |
|---|---|
| [RHEL] grub2-editenv 부트 환경 변수 편집 (0) | 2026.07.18 |
| [RHEL] getsebool SELinux 불린 현재 값 조회 (1) | 2026.07.18 |
| [RHEL] getenforce 현재 SELinux 모드 확인 (0) | 2026.07.18 |
| [RHEL] fixfiles 파일시스템 라벨 점검·복원 (0) | 2026.07.18 |