コンテンツにスキップ

ボードの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.1. Dockerの紹介 図1

1.2. Docker環境の構築

1.2.1 Dockerのインストール

ボード環境に入り、パッケージデータベースを更新してからDockerをインストールします。

Terminal window
adb shell

1.2.1 Dockerのインストール 図2

1.2.1 Dockerのインストール 図2

Terminal window
apt-get update

1.2.1 Dockerのインストール 図3

1.2.1 Dockerのインストール 図3

Terminal window
apt-get install docker.io

1.2.1 Dockerのインストール 図4

1.2.1 Dockerのインストール 図4

Terminal window
docker version

1.2.1 Dockerのインストール 図5

1.2.1 Dockerのインストール 図5

1.2.2 イメージの取得

必要に応じてイメージを取得します。国内のミラーソースを設定することも可能です。

Terminal window
sudo vim /etc/docker/daemon.json
Terminal window
{"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 サービスを再起動します

Terminal window
sudo systemctl restart docker
Terminal window
docker pull ubuntu

1.2.2 イメージの取得 図6

1.2.2 イメージの取得 図6

この方法ではタグが指定されていないため、Docker Engine はデフォルトのタグとして :latest を使用してイメージをプルします。 もう一つの方法は、イメージをローカルファイルとして保存し、生成されたファイルを直接使用して共有することです。 ローカルマシンに保存(ダウンロード)されているイメージ情報のリストを確認する:

Terminal window
docker images

1.2.2 イメージの取得 図7

1.2.2 イメージの取得 図7

1.2.3 Dockerコンテナの実行と基本操作

コンテナを起動するには2つの方法があります。方法1:DockerイメージのTAG(タグ:特定のイメージスナップショットを指します)を使用して起動する。方法2:ImageID(イメージID:イメージに対応する一意の識別コード)を使用して起動する。以下では、【DockerイメージのTAGを使用】してコンテナを起動する方法を実演します。

Terminal window
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

1.2.3 Dockerコンテナの実行と基本操作 図8

CTRL+P を押してから CTRL+Q を押すと、現在のコンテナからデタッチ(離脱)し、ホストシステムのターミナルに戻ることができます。注意:コンテナからデタッチしただけで、コンテナを停止させたわけではありません。コンテナは引き続きバックグラウンドで実行されています。

Dockerホストのターミナルで以下のコマンドを実行し、コンテナの名前とIDを見つけます:

Terminal window
docker ps -a

1.2.3 Dockerコンテナの実行と基本操作 図9

1.2.3 Dockerコンテナの実行と基本操作 図9

IDが見つかれば、コンテナに対して関連する操作を行うことができます。

実行中のコンテナの一時停止と再開

Terminal window
docker pause DockerID
docker unpause DockerID

1.2.3 Dockerコンテナの実行と基本操作 図10

1.2.3 Dockerコンテナの実行と基本操作 図10

コンテナの起動

Terminal window
docker start Docker名

1.2.3 Dockerコンテナの実行と基本操作 図11

1.2.3 Dockerコンテナの実行と基本操作 図11

コンテナの削除

まず、実行中のコンテナを終了(停止)させる必要があります。

Terminal window
docker stop DockerID

1.2.3 Dockerコンテナの実行と基本操作 図12

1.2.3 Dockerコンテナの実行と基本操作 図12

すべてのコンテナが不要になった場合、複数のコンテナを一つずつ削除するのは煩雑な作業になります。そのため、停止しているすべてのコンテナを一括して削除することができます。停止中のすべてのコンテナを一括削除するには、以下を実行します:

Terminal window
docker container prune

1.2.3 Dockerコンテナの実行と基本操作 図13

1.2.3 Dockerコンテナの実行と基本操作 図13

削除後に docker ps -a ですべてのコンテナを確認すると、空になっていることが表示されます。

1.2.3 Dockerコンテナの実行と基本操作 図14

1.2.3 Dockerコンテナの実行と基本操作 図14

Dockerイメージの削除

Terminal window
docker rmi イメージID

1.2.3 Dockerコンテナの実行と基本操作 図15

1.2.3 Dockerコンテナの実行と基本操作 図15