이미지 사용자 지정자를 사용하여 Azure Linux 이미지 사용자 지정

이미지 사용자 지정자는 특정 시나리오에 맞게 기존 Azure Linux 이미지를 수정하는 오픈 소스 도구입니다. chroot와 루프백 블록 디바이스를 사용하여 가상 머신(VM)을 부팅하지 않고도 사용자 지정을 수행하므로, 이 프로세스는 빠르고 안정적이며 CI/CD 워크플로에 쉽게 통합할 수 있습니다. 이는 공식 Azure Linux 이미지를 빌드하는 데 사용되는 것과 동일한 기술입니다. 전체 구성 참조 및 고급 사용은 이미지 사용자 지정자 설명서를 참조하세요.

메모

Azure 이미지 사용자 지정자와 AIB(Image Builder) 통합은 아직 사용할 수 없습니다. 지금은 이미지 사용자 지정자를 직접 사용하여 Azure Linux 이미지를 사용자 지정할 수 있습니다.

이미지 사용자 지정자를 사용하면 다음을 수행할 수 있습니다.

  • 패키지를 추가하거나 제거합니다.
  • 파일 또는 디렉터리를 추가합니다.
  • 사용자 및 시스템 설정을 구성합니다.
  • 사용자 지정 파티션 레이아웃을 적용합니다.
  • 여러 형식으로 출력 이미지를 생성합니다.

이미지 사용자 지정자는 중첩된 사용자 지정도 지원하므로 이미 사용자 지정된 이미지를 추가로 사용자 지정할 수 있습니다. 여러 이미지를 빌드하는 팀의 경우 먼저 공유 사용자 지정 기본 이미지를 만들어 유지 관리 오버헤드를 줄이는 것이 좋습니다.

메모

Azure Linux 4.0은 현재 preview이며 평가 및 테스트 용도로 엄격하게 제한됩니다. 프로덕션 사용에 적합하지 않습니다.

사전 요구 사항

  • 호스트에 설치된 Docker입니다.
  • 기본 이미지: Azure Marketplace의 이미지이거나 이미 관리하고 있는 이미지 등 모든 Azure Linux 이미지입니다.
  • 구성 파일: 수정 내용을 설명하는 YAML 또는 JSON 파일입니다.

지원되는 호스트 시스템

다음에서 이미지 사용자 지정자를 실행할 수 있습니다.

  • Azure 리눅스
  • 우분투 22.04

이미지 사용자 지정자 사용

이미지 사용자 지정자는 Microsoft MCR(아티팩트 레지스트리) 게시된 컨테이너로 실행됩니다.

사용 가능한 태그 나열

다음 명령을 사용하여 Image Customizer 컨테이너에 사용 가능한 태그를 나열합니다.

curl -s "https://mcr.microsoft.com/v2/azurelinux/imagecustomizer/tags/list" | jq '.tags[]'

이미지 사용자 지정

기본 이미지 및 구성 파일이 컨테이너에 탑재된 이미지 사용자 지정자 컨테이너를 실행하여 이미지를 사용자 지정합니다. 다음은 그 예입니다.

docker run --rm \
    --privileged \
    -v "<shared-dir>:z" \
    -v "/dev:/dev" \
    "mcr.microsoft.com/azurelinux/imagecustomizer:latest" \
    imagecustomizer \
        --image-file <base-image.vhdx> \
        --config-file <config-file.yaml> \
        --output-image-format raw \
        --output-image-file <output-image.raw> \
        --build-dir "/tmp"

다음 값을 바꿉니다.

자리 표시자 Description
<shared-dir> 기본 이미지 및 구성 파일을 포함하는 디렉터리의 절대 경로입니다. 사용자 지정된 이미지도 여기에 기록됩니다.
<base-image.vhdx> 수정할 기본 이미지 파일의 경로입니다.
<config-file.yaml> 수정 내용을 설명하는 구성 파일의 경로입니다.
<output-image.raw> 사용자 지정된 출력 이미지의 경로입니다.

자세한 내용은 이미지 사용자 지정자 설명서를 참조하세요.