ボードのDocker環境構築方法
1.1. Dockerの紹介
Dockerは最も広く使用されているオープンソースのコンテナエンジンであり、各アプリケーションに完全に分離された実行環境を提供します。ユーザーは環境内で様々なツールやソフトウェアを設定でき、異なる環境同士が影響し合うことはありません。現在、EASY-EAI-Nanoへの適応が完了しており、ユーザーはいつでもどこでもデプロイ(展開)を行うことができます。Dockerfile、Image(イメージ)、Container(コンテナ)は、Dockerにおける3つの重要な概念です。Imageを通じて多数のContainerを作成でき、Dockerfileという自動化スクリプトを通じてImageを作成することができます。
**Dockerfile**:イメージ記述ファイルとも呼ばれ、イメージを組み立てるためのコマンドが含まれたテキストドキュメントであり、「スクリプト」と呼ぶこともできます。ユーザーは`docker build`コマンドを通じて、Dockerfile内の指示やインストール手順を読み込み、イメージを自動生成します。
**Image(イメージ)**:ファイルシステムの一種であり、コンテナの実行時に必要となるファイルやパラメータ設定を提供します。普段特定のソフトウェアを使用する際にダウンロードするインストールパッケージに相当し、オペレーティングシステム(OS)をインストールする際に必要となるISOファイルにも相当します。
**Container(コンテナ)**:環境に依存しない、ソフトウェアのパッケージ化手法です。アプリケーションのすべてのコード、ライブラリ、および依存する設定項目がコンテナ内にパッケージ化されます。仮想マシンとは異なり、コンテナは完全な仮想オペレーティングシステムを作成するのではなく、アプリケーションが実行中のシステムと同じLinuxカーネルを使用することを可能にします。また、アプリケーションはホスト上でまだ実行されていないもの(必要な依存関係)と共に提供されるだけで済みます。

1.1. Dockerの紹介 図1
1.2. Docker環境の構築
1.2.1 Dockerのインストール
ボード環境に入り、パッケージデータベースを更新してからDockerをインストールします。
adb shell
1.2.1 Dockerのインストール 図2
apt-get update
1.2.1 Dockerのインストール 図3
apt-get install docker.io
1.2.1 Dockerのインストール 図4
docker version
1.2.1 Dockerのインストール 図5
1.2.2 イメージの取得
必要に応じてイメージを取得します。国内のミラーソースを設定することも可能です。
sudo vim /etc/docker/daemon.json{"registry-mirrors":\["https://hub-mirror.c.163.com","https://docker.mirrors.ustc.edu.cn","https://ueo0uggy.mirror.aliyuncs.com","https://docker.m.daocloud.io","https://cf-workers-docker-io-apl.pages.dev"\]}エディタを保存して終了し、Docker サービスを再起動します
sudo systemctl restart dockerdocker pull ubuntu
1.2.2 イメージの取得 図6
この方法ではタグが指定されていないため、Docker Engine はデフォルトのタグとして :latest を使用してイメージをプルします。 もう一つの方法は、イメージをローカルファイルとして保存し、生成されたファイルを直接使用して共有することです。 ローカルマシンに保存(ダウンロード)されているイメージ情報のリストを確認する:
docker images
1.2.2 イメージの取得 図7
1.2.3 Dockerコンテナの実行と基本操作
コンテナを起動するには2つの方法があります。方法1:DockerイメージのTAG(タグ:特定のイメージスナップショットを指します)を使用して起動する。方法2:ImageID(イメージID:イメージに対応する一意の識別コード)を使用して起動する。以下では、【DockerイメージのTAGを使用】してコンテナを起動する方法を実演します。
docker run -t -i ubuntu:latest /bin/bash* -t:Ubuntuコンテナ内に擬似ターミナル(pseudo-TTY)を割り当てます。
* -i:コンテナから標準入力(STDIN)を取得することで、対話的な接続を作成できるようにします。
* ubuntu:latest:タグが latest であるUbuntuのDockerイメージです。
* /bin/bash:新しいコンテナのBASHシェルです。これはオプションです。シェルを指定しない場合は、デフォルトのシェルがコンテナに割り当てられます。
コンテナを起動すると、自動的にコンテナのシェル(コマンドライン)に入ります。

1.2.3 Dockerコンテナの実行と基本操作 図8
CTRL+P を押してから CTRL+Q を押すと、現在のコンテナからデタッチ(離脱)し、ホストシステムのターミナルに戻ることができます。注意:コンテナからデタッチしただけで、コンテナを停止させたわけではありません。コンテナは引き続きバックグラウンドで実行されています。
Dockerホストのターミナルで以下のコマンドを実行し、コンテナの名前とIDを見つけます:
docker ps -a
1.2.3 Dockerコンテナの実行と基本操作 図9
IDが見つかれば、コンテナに対して関連する操作を行うことができます。
実行中のコンテナの一時停止と再開
docker pause DockerID
docker unpause DockerID
1.2.3 Dockerコンテナの実行と基本操作 図10
コンテナの起動
docker start Docker名
1.2.3 Dockerコンテナの実行と基本操作 図11
コンテナの削除
まず、実行中のコンテナを終了(停止)させる必要があります。
docker stop DockerID
1.2.3 Dockerコンテナの実行と基本操作 図12
すべてのコンテナが不要になった場合、複数のコンテナを一つずつ削除するのは煩雑な作業になります。そのため、停止しているすべてのコンテナを一括して削除することができます。停止中のすべてのコンテナを一括削除するには、以下を実行します:
docker container prune
1.2.3 Dockerコンテナの実行と基本操作 図13
削除後に docker ps -a ですべてのコンテナを確認すると、空になっていることが表示されます。

1.2.3 Dockerコンテナの実行と基本操作 図14
Dockerイメージの削除
docker rmi イメージID
1.2.3 Dockerコンテナの実行と基本操作 図15