이미지 사용자 지정자는 특정 시나리오에 맞게 기존 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> |
사용자 지정된 출력 이미지의 경로입니다. |
관련 콘텐츠
자세한 내용은 이미지 사용자 지정자 설명서를 참조하세요.