ブログ

Armadillo Base OS:コンテナイメージの取得方法

at_shinya.matsumoto
2022年6月10日 13時39分

本ブログではコンテナ作成時に使用するコンテナイメージを取得する方法をご説明します。

はじめに

Armadillo-IoT G4はeMMC(ストレージ)への書き込みを最小限にする観点から、tmpfs(メモリ上に作成するファイルシステム)に保存する設定にしております。メモリ上のファイルは電源を一度落とすと消えてしまう為、開発時はeMMCへ書き込む様に下記の様に設定を変更します。

ファイルをeMMCへ保存に変更するコマンド
# abos-ctrl podman-storage --disk    (バージョン v3.15.4-at.6以降で対応)
または
# podman_switch_storage --disk

ファイルをtmpfs(メモリ)へ保存に変更するコマンド
# abos-ctrl podman-storage --tmpfs    (バージョン v3.15.4-at.6以降で対応)
または
# podman_switch_storage --tmpfs

ファイルの保存先設定を確認するコマンド(下記はeMMCへ保存する設定)
# abos-ctrl podman-storage --status    (バージョン v3.15.4-at.6以降で対応)
または
# podman_switch_storage --status
Currently in disk mode, run with --tmpfs to switch

以下、eMMCへ保存する事を前提で記載致します。

コンテナイメージとは

コンテナイメージとは、 アプリケーション実行に必要な変数・コマンドやメタデータを含む動作環境テンプレートです。
(開発済みコンテナからコンテナイメージを作る事も可能ですが、ここでは省略します)
例えばDockerHub(後述)からコンテナイメージとしてDebianを選択し、それを用いてコンテナを作るとコンテナ内は
Debianと同様に開発が可能な環境になります。必要なパッケージも追加でインストール可能です。

ここでArmadillo BASE OSの上にDebianが載る様なイメージをされると思いますが、コンテナ内のプロセスは
実際にはArmadillo BASE OS上で実行されているプロセスですので、オーバーヘッドはほぼ発生しません。

コンテナイメージの取得方法

コンテナイメージはDockerHubから入手します。
ここではDebian 11(bullseye)を入手する方法を説明します。

まず、上記DockerHubのリンクを開き、下記のExploreをクリックします。

Exploreからページを開くと下記の様にたくさんのディストリビューションのイメージが表示されます。
左上の検索から探したいディストリビューションを選択します。ここではdebianと入力します。

Debianが見つかったらクリックしてDebianのページに移動します。
次にtagをクリックしてDebianイメージ一覧を表示します。

検索から使いたいバージョンを指定します。ここではbullseyeと入力します。

スクロールして使いたいイメージを探します。
イメージが見つかったらその下の+x more...をクリックすると全ての対応アーキテクチャが表示されます。

ここに下記アーキテクチャが表示されていれば使用可能です。(大抵のメジャーなイメージには対応しています)
Armadillo-IoT G4:linux/arm64/v8
Armadillo-X2:linux/arm64/v8
Armadillo-IoT A6E:linux/arm/v7
Armadillo-640/610:linux/arm/v7


イメージが使用出来る事が確認出来たら、後はpodman pullコマンドでダウンロードします。
実環境(Armadillo上)でコマンド実行する場合は下記の通りです。

イメージ名"debian"、タグ名"bullseye"をDocker Hubから持ってきます。
# podman pull docker.io/debian:bullseye
Trying to pull docker.io/library/debian:bullseye...
Getting image source signatures
…
…
Writing manifest to image destination
Storing signatures
e38a1b1bebd53396928bac3000fcc9fee3970cd022eae1e79fbd08d46a1a6ea8

取得したイメージを確認
# podman images
REPOSITORY                 TAG         IMAGE ID      CREATED       SIZE
docker.io/library/debian   bullseye    e38a1b1bebd5  13 days ago   123 MB

ATDE環境などでコンテナイメージをダウンロードする場合は下記の様にアーキテクチャを
指定します。

アーキテクチャ
・arm64v8:Armadillo-IoT G4/X2
・arm32v7:Armadillo-IoT A6E/640/610

[ATDE]$ podman pull docker.io/arm64v8/debian:bullseye          //arm64v8向け
[ATDE]$ podman pull docker.io/arm32v7/debian:bullseye          //arm32v7向け

以上で、コンテナ作成に必要なコンテナイメージを取得できます。