Dockerイメージの登録方法

独自に作成したイメージをAIBOXに登録する方法を説明します

Contents

1

はじめに

AIBOX OSには、標準でYOLO11をNCNNで実行できるDocker Imageが登録されています。

docker images
REPOSITORY TAG SIZE aicap/arm64/ultralytics 1.0.250923 3.43GB

このイメージは、Ultralyticsが公開しているYOLO11用のイメージをベースに、ncnn変換・実行に必要なモジュールのインストールや、aicapコマンドを実行するための環境構築処理が行われていますので、 AIBOX OS上で稼働させるYOLO11を使用した基本的な検知プログラムは、このイメージから起動したコンテナ上で動作させることが可能になっています。

GitHub Dockerfileはこちら

標準搭載のAI検知プログラムでは、このイメージを使用して実行されます。

しかし、独自のDockerイメージをAIBOXに登録するには、少し手順が必要になります。

ここでは、その手順について説明します。

2

RAMディスク化するとDockerが起動しない

AIBOX OSは、/home配下以外はRAMディスク化されていますが、RAMディスク化された状態ではDockerが起動できなくなってしまいます。

この問題に対応するため、AIBOX OSでは、OS起動時に以下の処理を行ってDockerを起動させます。

  1. docker.sericeを一旦停止
  2. /var/lib/dockerをtmpfsにマウント
  3. /var/lib/docker.persistの内容を/var/lib/dockerにコピー
  4. docker.sericeを起動
ヒント

この起動時の処理はRAMディスク化されている状態のときのみ行われます。
RAMディスクを無効化している状態では何も行わす、そのままDockerが起動します。

つまり、RAMディスク化されている状態では、/var/lib/docker.persistに保存されているイメージ等の情報で上書きされる、ということになります。
そのため、独自にDockerイメージを作成して登録する場合には、作成した情報を/var/lib/docker.persistに保存する、という処理が必要になります。

3

独自に作成したDockerイメージの登録方法

独自のDockerイメージをAIBOX OSに登録するには、以下の手順で行います。

  1. RAMディスクを解除
  2. イメージをビルドしローカルリポジトリに登録
  3. 現在のローカルリポジトリの情報を/var/lib/docker.persistに保存
  4. RAMディスクを有効化する

RAMディスク化を解除した後は、通常のイメージのビルドを行ってローカルリポジトリに登録すればOKですが、 登録したイメージをRAMディスク化したあとに使用する場合には、 現在のローカルリポジトリの情報を/var/lib/docker.persistに保存 する必要があります。

この保存処理を行う為のスクリプトは、標準で用意されていますので、イメージを登録後に、以下のスクリプトを実行してください。(sudoが必要です)

スクリプト
$ sudo /usr/local/aicap/script/docker/dockersave.sh

このスクリプトを実行すると、現在のDocker情報が保存されます。(少し時間がかかります)
スクリプトの処理が終了したら、RAMディスクを有効にしてください。
再起動後、docker imagesで、登録したイメージが表示されれば完了です!