この記事では、Raspberry Pi 5にdockerをインストールする方法を解説します。使用しているOSはRaspberry Pi OS (64-bit)です。
はじめに
発売直後、Raspberry Pi は電子工作ツールとして人気を呈していました。近年では、AI や IoT などの先端技術開発にも活用されるようになっています。しかし、開発環境を整えるのは手間がかかります。運用も難しいと感じている方も多いことでしょう。
そんな課題を解決するのが、 Docker です。Docker は、軽量な仮想環境であるコンテナを作成・管理するツールです。コンテナには必要なソフトウェア環境がすべて含まれています。そのため、開発環境の構築や運用が簡単になります。
本記事では、Raspberry Pi OS (64-bit) に Docker をインストールする方法を解説します。ぜひ参考にしてみてください。
関連記事
開発環境
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 2Dockerリポジトリの登録
次に、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行でインストールが完了してしまいました。
一番簡単な方法だと言われています。しかし、公式サイトでは本番環境で使用することは推奨していません。例えば、以下のような理由があげられています。
この記事ではテスト環境に最新バージョンを新規にインストールする前提です。そのため、紹介しています。
実は、便利なスクリプトの内容としては2の方法と同じようなことを実行しています。
動作確認
インストールが完了したら、dockerのバージョンを確認してみましょう。
$ docker --version
Docker version 26.0.1, build d260a54
バージョン26.0.1がインストールされていることが確認できました。
一般ユーザで起動できるようにする
それでは、ユーザをdockerグループに所属させましょう。
$ sudo usermod -aG docker $USER
$ newgrp docker
dockerグループに所属していないユーザでdocker run
を実行するとエラーが出ます。
$ 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
コマンドでコンテナを実行していましょう。
$ 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コマンドを実行してみましょう。
$ docker compose version
Docker Compose version v2.26.1
まとめ
この記事ではRaspberry Pi OS (64-bit)
にDockerをインストールする方法を説明しました。また、dockerを一般ユーザで起動する方法を説明しました。最後にコンテナを実行する方法を説明しました。
このサイトではRaspberry Pi
だけでなく他のマイコンボードやFPGA、IoT機器、ガジェットについての記事を執筆します。少しでも興味がある方や、何か要望がある方はぜひコメントください!また、Contactフォームからのお問い合わせも受け付けています。
コメント