イメージ カスタマイザーは、既存の Azure Linux イメージを特定のシナリオに合わせて変更するオープンソース ツールです。
chrootおよびループバック ブロック デバイスを使用して、仮想マシン (VM) を起動せずにカスタマイズを実行し、プロセスを高速で信頼性が高く、CI/CD ワークフローに簡単に統合できるようにします。 これは、公式のAzure Linux イメージを構築するために使用されるのと同じテクノロジです。 完全な構成リファレンスと高度な使用方法については、 イメージ カスタマイザーのドキュメントを参照してください。
Note
Azure Image Builder (AIB) と Image Customizer の統合はまだ利用できません。 現時点では、イメージ カスタマイザーを直接使用して、Azure Linux イメージをカスタマイズできます。
イメージ カスタマイザーを使用すると、次のことができます。
- パッケージを追加または削除します。
- ファイルまたはディレクトリを追加します。
- ユーザーとシステム設定を構成します。
- カスタム パーティション レイアウトを適用します。
- 複数の形式で出力イメージを生成します。
イメージ カスタマイザーでは、入れ子になったカスタマイズもサポートされているため、既にカスタマイズされているイメージをさらにカスタマイズできます。 複数のイメージを構築するチームの場合は、最初に共有カスタム 基本イメージを作成して、メンテナンスのオーバーヘッドを軽減することを検討してください。
Note
Azure Linux 4.0 は現在、preview であり、評価とテストの目的に厳密に限定されています。 運用環境での使用には適していません。
Prerequisites
- ホスト にインストールされている Docker。
- ベース イメージ: 任意の Azure Linux イメージ (Azure Marketplace のイメージ、または既に管理しているイメージ)。
- 構成ファイル: 変更を記述する YAML または JSON ファイル。
サポートされているホスト システム
イメージ カスタマイザーは次のコマンドで実行できます。
- Azure Linux
- Ubuntu 22.04
イメージ カスタマイザーを使用する
イメージ カスタマイザーは、Microsoft Artifact Registry (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> |
カスタマイズされた出力イメージのパス。 |
関連するコンテンツ
詳細については、 イメージ カスタマイザーのドキュメントを参照してください。