3.2. 論理的にバインドされたイメージの作成
論理的にバインドされたイメージは、Podman Quadlet の .image または .container ファイルを使用して作成できます。
前提条件
-
container-toolsメタパッケージがインストールされている。
手順
- 論理的にバインドするイメージを選択します。
Containerfileを作成します。$ cat Containerfile FROM quay.io/<namespace>/<image>:latest COPY ./<app_1>.image /usr/share/containers/systemd/<app_1>.image COPY ./<app_2>.container /usr/share/containers/systemd/<app_2>.container RUN ln -s /usr/share/containers/systemd/<app_1>.image \ /usr/lib/bootc/bound-images.d/<app_1>.image && \ ln -s /usr/share/containers/systemd/<app_2>.container \ /usr/lib/bootc/bound-images.d/<app_2>.container.container定義で、以下を使用します。GlobalArgs=--storage-opt=additionalimagestore=/usr/lib/bootc/storageこの
Containerfileの例では、/usr/lib/bootc/bound-images.dディレクトリーに、.imageファイルまたは.containerファイルを参照するシンボリックリンクを作成することにより、論理的にバインドされるイメージが選択されます。bootc upgradeコマンドを実行します。$ bootc upgradebootc upgrade では、次の主な手順が実行されます。
- イメージリポジトリーから新しいベースイメージを取得します。「コンテナープルシークレットの設定」を参照してください。
- 新しいベースイメージのルートファイルシステムを読み取り、論理的にバインドされたイメージを検出します。
-
新しい bootc イメージで定義されている、検出された論理的にバインドされたイメージを、bootc が所有する
/usr/lib/bootc/storageイメージストレージに自動的にプルします。
バインドされたイメージを Podman などのコンテナーランタイムで使用できるようにします。そのためには、バインドされたイメージが "追加のイメージストア" として bootc ストレージを参照するように明示的に設定する必要があります。以下に例を示します。
podman --storage-opt=additionalimagestore=/usr/lib/bootc/storage run <image>重要/etc/containers/storage.confで/usr/lib/bootc/storageイメージストレージをグローバルに有効にしないでください。論理的にバインドされたイメージには bootc ストレージだけを使用してください。
bootc image store は bootc が所有します。論理的にバインドされたイメージは、/usr/lib/bootc/bound-images.d ディレクトリー内のファイルによって参照されなくなると、ガベージコレクションされます。