Raspberry Pi 5にdockerをインストールする

installing-docker-onraspberry-pi-5 Raspberry Pi 5
installing-docker-onraspberry-pi-5

この記事では、Raspberry Pi 5にdockerをインストールする方法を解説します。使用しているOSはRaspberry Pi OS (64-bit)です。

はじめに

発売直後、Raspberry Pi は電子工作ツールとして人気を呈していました。近年では、AI や IoT などの先端技術開発にも活用されるようになっています。しかし、開発環境を整えるのは手間がかかります。運用も難しいと感じている方も多いことでしょう。

そんな課題を解決するのが、 Docker です。Docker は、軽量な仮想環境であるコンテナを作成・管理するツールです。コンテナには必要なソフトウェア環境がすべて含まれています。そのため、開発環境の構築や運用が簡単になります。

本記事では、Raspberry Pi OS (64-bit) Docker をインストールする方法を解説します。ぜひ参考にしてみてください。

関連記事

  • Raspberry Pi OS (64-bit)のインストール方法
  • Raspberry Pi 5にdocker registryを構築する

開発環境

  • Raspberry Pi 5
    • 8GB
    • Raspberry Pi OS (64-bit)

Dockerの特徴

Dockerとは?

アプリケーションとその依存関係を軽量なコンテナというパッケージにまとめるプラットフォームです。

コンテナ は、アプリケーションを実行するための独立した実行可能なパッケージです。実行するために必要なものは全部含まれています。具体的には、アプリケーションコード、ランタイム、ライブラリなどが含まれます。

Dockerのメリット

Docker を使うことで、以下のメリットが得られます。

  • 開発環境の構築・運用が簡単
  • 開発効率が大幅に向上
  • 再現性の高い環境
  • 軽量で省資源
  • 様々なアプリケーションを簡単に実行

インストール方法

dockerの公式ドキュメントには、「64ビット版(arm64)をお使いの場合は、Debianの説明に従ってください。」と書いてあります。そのため、この記事ではその説明の通りにします。

公式サイトには4つの方法が紹介されています。

  • Docker Desktop for Linuxをインストールする
  • DockerのaptリポジトリからDocker Engineをセットアップしてインストールする
  • 手動でインストールし、手動でアップグレードを管理する
  • 便利なスクリプトを使用する

この記事では2と4の方法を解説します。両方実行する必要はなく、どちらか一つ好きな方法を実行すれば大丈夫です。

aptリポジトリからインストールする(2の方法)

  • STEP 1
    リポジトリのGPGキーを取得する

    まず、Debian向けのdockerリポジトリのGPGキーを取得してきます。取得してきたGPGキーは/etc/apt/keyrings/docker.gpgに保存されます。

    Bash
    $ curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
  • STEP 2
    Dockerリポジトリの登録

    次に、aptコマンドで利用するdockerのリポジトリを設定する。リポジトリの定義ファイル/etc/apt/sources.list.d/docker.listを作成します。

    Bash
    $ echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
  • STEP 3
    インストールの開始

    最後に、aptコマンドでdockerをインストールします。

    Bash
    $ sudo apt update
    $ sudo apt install docker-ce containerd.io docker-buildx-plugin docker-ce-cli docker-ce-rootless-extras docker-compose-plugin
    

便利なスクリプトを使用してインストールする(4の方法)

  • STEP 1
    便利なスクリプトを実行する
    Bash
    $ curl https://get.docker.com | sh

たった1行でインストールが完了してしまいました。

一番簡単な方法だと言われています。しかし、公式サイトでは本番環境で使用することは推奨していません。例えば、以下のような理由があげられています。

  • インストールパラメータを変更できない
  • 確認を求めずに依存関係や推奨事項をインストールする
  • Docker の予期しないメジャーバージョンのアップグレードが発生する可能性がある
  • 依存関係が期待されるバージョンに更新されない場合がある

この記事ではテスト環境に最新バージョンを新規にインストールする前提です。そのため、紹介しています。

実は、便利なスクリプトの内容としては2の方法と同じようなことを実行しています。

動作確認

インストールが完了したら、dockerのバージョンを確認してみましょう。

Bash
$ docker --version
Docker version 26.0.1, build d260a54

バージョン26.0.1がインストールされていることが確認できました。

一般ユーザで起動できるようにする

それでは、ユーザをdockerグループに所属させましょう。

Bash
$ sudo usermod -aG docker $USER
 newgrp docker

dockerグループに所属していないユーザでdocker runを実行するとエラーが出ます。

Bash
$ docker run --rm hello-world
docker: permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Head "http://%2Fvar%2Frun%2Fdocker.sock/_ping": dial unix /var/run/docker.sock: connect: permission denied.

コンテナを実行する

最後に、docker runコマンドでコンテナを実行していましょう。

Bash
 $  docker run --rm hello-world
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
478afc919002: Pull complete 
Digest: sha256:03b30c6a3c320ff172b52bd68eddffde6ded08ce47e650fe52de861c5e9df46d
Status: Downloaded newer image for hello-world:latest

Hello from Docker!
This message shows that your installation appears to be working correctly.

To generate this message, Docker took the following steps:
 1. The Docker client contacted the Docker daemon.
 2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
    (arm64v8)
 3. The Docker daemon created a new container from that image which runs the
    executable that produces the output you are currently reading.
 4. The Docker daemon streamed that output to the Docker client, which sent it
    to your terminal.

To try something more ambitious, you can run an Ubuntu container with:
 $ docker run -it ubuntu bash

Share images, automate workflows, and more with a free Docker ID:
 https://hub.docker.com/

For more examples and ideas, visit:
 https://docs.docker.com/get-started/

docker compose

Docker Compose は、複数の Docker コンテナをまとめて定義・管理するためのツールです。実は、このcomposeもダウンロードできています。それでは、docker composeコマンドを実行してみましょう。

Bash
 $ docker compose version
Docker Compose version v2.26.1

まとめ

この記事ではRaspberry Pi OS (64-bit)にDockerをインストールする方法を説明しました。また、dockerを一般ユーザで起動する方法を説明しました。最後にコンテナを実行する方法を説明しました。

このサイトではRaspberry Piだけでなく他のマイコンボードやFPGA、IoT機器、ガジェットについての記事を執筆します。少しでも興味がある方や、何か要望がある方はぜひコメントください!また、Contactフォームからのお問い合わせも受け付けています。

コメント

タイトルとURLをコピーしました