Raspberry Pi4にDockerをインストールする方法

How Install Docker Raspberry Pi 4



Raspberry Pi 3と比較すると、Raspberry Pi 4には十分なRAMがあります(2GB、4GB、および8GBモデルがあります)。したがって、Raspberry Pi 4は、アプリ開発やその他のタスクのための低コストのDockerソリューションとして機能します。この記事では、DockerをRaspberry Pi4にインストールする方法を説明します。RaspberryPi4の8GBバージョンを使用しますが、2GBバージョンまたは4GBバージョンを使用することもできます。

Dockerは、Linuxオペレーティングシステム(Dockerホスト)上で軽量のLinuxコンテナーを実行するために使用されるLinux用のコンテナー化システムです。 Raspberry Pi 4にDockerをインストールするには、次のものが必要です。







  1. Raspberry Pi4シングルボードコンピューター
  2. Raspberry Pi 4Type-C電源。
  3. Raspberry Pi OSイメージがインストールされたmicroSDカード(少なくとも32GB)。
  4. Raspberry Pi4でのインターネット接続。
  5. Raspberry Pi4へのVNCリモートデスクトップアクセスまたはSSHアクセス用のラップトップまたはデスクトップ。

ノート: SSHまたはVNCを介してRaspberryPi 4にリモートでアクセスしたくない場合は、モニター、キーボード、およびマウスをRaspberryPiに接続する必要があります。ここでは、ヘッドレスRaspberry Pi4セットアップを使用してVNCリモートデスクトッププロトコルを介してRaspberryPi 4にリモート接続するため、周辺機器をRaspberryPiに接続しません。



追加リソース: Raspberry Pi4にRaspberryPi OSをインストールする方法については、こちらをご覧ください。 Raspberry Pi4にRaspberryPiOSをインストールする方法 。 Raspberry PiOSイメージをmicroSDカードにフラッシュする方法を学習します。ここに行く:Raspberry PiImagerをインストールして使用する方法。 Raspberry Pi 4のヘッドレスセットアップの詳細については、こちらをご覧ください:外部モニターなしでRaspberry Pi4にRaspberryPiOSをインストールして構成する方法。



Raspberry PiOSの更新

Dockerをインストールする前に、Raspberry PiOS上のすべてのパッケージを更新する必要があります。これを行うには、最初に次のコマンドを使用してAPTパッケージリポジトリキャッシュを更新します。





$sudoaptアップデート


このコマンドは、APTパッケージリポジトリキャッシュを更新する必要があります。


Raspberry Pi OSのすべてのパッケージを更新するには、次のコマンドを実行します。



$sudoaptアップグレード


アップグレードを確認するには、を押します その後


APTパッケージマネージャーは、必要なすべてのパッケージをインターネットからダウンロードする必要があります。この手順は、完了するまでに時間がかかる場合があります。


必要なパッケージがすべてダウンロードされたら、APTパッケージマネージャーはそれらを1つずつインストールする必要があります。この手順は、完了するまでに時間がかかる場合もあります。


この時点で、既存のすべてのパッケージを更新する必要があります。


変更を有効にするには、次のコマンドを使用してRaspberry Pi4を再起動します。

$sudoリブート

Raspberry PiOSへのDockerのインストール

DockerがRaspberryPi OSを正式にサポートするようになったため、Raspberry PiOSを実行しているRaspberryPi4にDockerをインストールするのは非常に簡単です。

Raspberry Pi OSにDockerをインストールするには、Raspberry Pi 4にDockerインストールスクリプトをダウンロードする必要があります。次のコマンドを使用して、Raspberry Pi4にDockerインストールスクリプトをダウンロードできます。

$カール-fsSLhttps://get.docker.com-またget-docker.sh


Dockerインストールスクリプト get-docker.sh 現在の作業ディレクトリにダウンロードする必要があります。


Dockerインストールスクリプトを実行します get-docker.sh 次のコマンドでrootとして:

$sudo bashget-docker.sh


Dockerインストールスクリプトは、インターネットから必要なすべてのパッケージをダウンロードしてインストールします。この手順は、完了するまでに時間がかかる場合があります。


この時点で、Dockerをインストールする必要があります。


Dockerをインストールしたら、ログインユーザーをに追加します。 docker 次のコマンドでグループ化します。

$sudousermod-aGdocker $((私は誰)。


変更を有効にするには、次のコマンドを使用してRaspberry Pi4を再起動します。

$sudoリブート


Raspberry Pi 4が起動したら、次のコマンドを実行して、dockerがインストールされているかどうかを確認します。

$Dockerバージョン


ご覧のとおり、私はDockerバージョン19.03.13を実行しています。これは、執筆時点でRaspberry PiOSで利用可能なDockerの最新バージョンです。この記事を読むまでに、バージョン番号が変更される可能性があります。

Raspberry PiOSへのDockerComposeのインストール

DockerCompose YAMLファイルを使用してDockerプロジェクトを自動化するためのツールです。

Dockerを使用してPHPWeb開発を行いたいとします。そのためには、Webサーバーなどの複数のコンテナーが必要です(つまり、 php )コンテナとデータベースサーバー(つまり、 mysql また モンゴ ) 容器。 RAW Dockerを使用する場合は、これらのコンテナーを個別に開始、停止、および構成する必要があり、これは面倒で時間がかかります。対照的に、Docker Composeを使用する場合は、単純なYAMLファイルとDockerComposeコマンドを使用してすべてのコンテナーを管理および構成できます。

Pythonのpipパッケージインストーラーを使用してDockerComposeをインストールできます。 PythonpipはRaspberryPiにプレインストールされている必要がありますが、pipがインストールされていない場合は、次のコマンドを使用してRaspberry PiOSの公式パッケージリポジトリからインストールできます。

$sudoaptインストールpython3-pip-と


私たちの場合、Pythonpipはすでにインストールされています。


Python pipをインストールしたら、次のコマンドを使用してDockerComposeをインストールできます。

$sudopip3インストールdocker-compose


以下のイメージでは、DockerComposeがインストールされています。


次のイメージでは、DockerComposeがインストールされている必要があります。


Docker Composeをインストールしたら、次のコマンドでアクセスできるかどうかを確認します。

$docker-composeバージョン


ご覧のとおり、DockerComposeバージョン1.27.4を使用しています。この記事を読むまでに、Raspberry PiOSにDockerComposeの新しいバージョンがインストールされている可能性があります。

Raspberry Pi4でのDockerの使用

このセクションでは、Raspberry Pi 4でDockerを使用する方法を示します。Dockerを使用したことがない場合は、このセクションが開始に役立ちます。

Dockerコンテナーを実行するには、DockerコンテナーのベースとなるDockerイメージが必要です。 Dockerコンテナレジストリ(Docker Hub)には、何千ものDockerコンテナがあります。 Dockerコンテナー(Apache Webサーバーコンテナーなど)は、次のように検索できます。

$docker searchapache


検索クエリに一致するDockerコンテナが返されます。

公式のApacheWebサーバーコンテナは httpd 、下のスクリーンショットに示すように。そのイメージに基づいてDockerコンテナを作成しましょう。


を使用してApacheWebサーバーのDockerコンテナを作成して起動するには httpd Dockerイメージ、次のコマンドを実行します。

$docker run-NS -NS 808080httpd

ノート: ここ、 -p 8080:80 ポートを転送するために使用されます 80httpd 移植するDockerコンテナ 8080 Dockerホスト(Raspberry Pi 4)で。


NS httpd Dockerイメージはインターネット(Docker Hub)からダウンロードする必要があります。この手順は、完了するまでに時間がかかる場合があります。


この時点で、Docker httpd コンテナイメージがダウンロードされ、新しいDockerコンテナが作成されているはずです。


Raspberry Pi 4でWebブラウザーを開き、http:// localhost:8080にアクセスすると、ApacheWebサーバーコンテナーが正しく実行されていることを示す次のWebページが表示されます。


次のコマンドを使用して、実行中のすべてのDockerコンテナーを一覧表示できます。

$Dockerコンテナls

現在、実行中のDockerコンテナは1つだけです。つまり、ApacheWebサーバーコンテナです。コンテナの名前は awesome_grothendieck (ランダムに生成)、およびID c5d09470a9eb


作成したDockerコンテナーにはランダムに生成された名前が付けられますが、Dockerコンテナーには次の名前を付けることができます。 -名前 コマンドライン引数。たとえば、別のものを作成するには httpd 名前のDockerコンテナ webserver2 、次のコマンドを実行できます。

$docker run-NS -NS 808180 - 名前webserver2 httpd


上記のコマンドを入力すると、 webserver2 作成する必要があります。


ご覧のとおり、新しく作成されたDockerコンテナの名前は webserver2

$Dockerコンテナls


2番目のコンテナで実行されているWebサーバー webserver2 URL http:// localhost:8081からもアクセスできる必要があります。


実行中のコンテナーの名前またはIDを使用して、実行中のDockerコンテナーを停止できます。たとえば、実行中のDockerコンテナを停止するには webserver2 、次のコマンドを実行します。

$docker container stop webserver2


Dockerコンテナ webserver2 停止する必要があります。

$Dockerコンテナls


ご覧のとおり、で実行されていたWebサーバーは webserver2 コンテナも停止しました。


コンテナを停止できます c5d09470a9eb 次のコマンドを使用します。

$docker container stop c5d09470a9eb


次の画像に示すように、Dockerコンテナ c5d09470a9eb は実行されていません。


以下の画像は、で実行されていたWebサーバーが c5d09470a9eb コンテナも停止しました。

Raspberry Pi4でのDockerComposeの使用

このセクションでは、DockerComposeを使用してDockerプロジェクトを管理する方法を示します。

まず、新しいプロジェクトディレクトリを作成します 〜/ webserver 次のように:

$mkdir -v/ウェブサーバー


に移動します 〜/ webserver 次のようなディレクトリ:

$CD/ウェブサーバー


新しいファイルを作成する docker-compose.yaml 次のように:

$ナノdocker-compose.yaml


docker-compose.yamlファイルに次のテキストを入力します。

バージョン:「3.8」
サービス:
ウェブ:
画像:httpd:latest
再起動:常に
ボリューム:
-。/www:/usr/ローカル/apache2/htdocs
ポート:
-'8083:80'

ノート: 必ず適切なインデントを使用してください。インデントはYAMLファイルにとって非常に重要です。インデントが正しくないと、構文エラーが発生します。

完了したら、を押します + X 続いてYと 保存するには docker-compose.yaml ファイル。


ここで、 サービス セクションでは、の定義があります ウェブ Dockerコンテナ。


4行目では、Docker 画像 その ウェブ 使用するコンテナを定義する必要があります。ここでは、 画像 使用するのは httpd:latest


5行目 再起動:常に 予期せず停止した場合にWebコンテナを再起動するために使用されます。


6〜7行目はマウントに使用されます www / プロジェクトディレクトリのディレクトリ / usr / local / apache2 / htdocs 、つまり、コンテナのウェブルート。


8〜9行目はポートの転送に使用されます 80 コンテナのポートへの 8083 Dockerホスト(Raspberry Pi 4)の


新しいディレクトリを作成します www / 次のようにプロジェクトディレクトリにあります。

$mkdir -vwww


新しいファイルを作成する index.html の中に www / 次のようなディレクトリ:

$ナノwww/index.html


次のコマンドを入力して、を押します + X に続く ファイルを保存します。


次のコマンドを使用して、DockerComposeプロジェクトを開始できます。

$docker-構成する-NS


DockerComposeプロジェクトが稼働している必要があります。


ご覧のとおり、Webサーバーコンテナが実行されています。

$docker-composeps


WebブラウザからURLhttp:// localhost:8083にアクセスすると、次のページが表示されます。これは、DockerComposeプロジェクトが機能していることを意味します。


Docker Composeプロジェクトを停止する(つまり、プロジェクトのすべてのコンテナーを停止する)には、次のコマンドを実行します。

$docker-compose down


DockerComposeプロジェクトは停止しているはずです。


ご覧のとおり、コンテナは実行されていません。

$docker-composeps


また、Webサーバーにアクセスできません。

結論

この記事では、DockerとDockerComposeをRaspberryPi 4にインストールしました。さらに、DockerとDockerComposeを使用してDockerコンテナーを作成します。この記事は、Raspberry Pi4でDockerとDockerComposeを使い始めるのに役立ちます。