BioErrorLog Tech Blog

試行錯誤の記録

Raspberry Pi OSにDockerをインストールする

Raspberry Pi OSにDockerをインストールする方法をまとめます。

はじめに

こんにちは、@bioerrorlogです。

先日、Raspberry Pi 4を購入しました。

Raspberry Piで色々と遊んでいると、Dockerもインストールしてみたくなりました。

今回はそのインストール方法をまとめます。

前提

使用機器:Raspberry Pi 4

Raspberry Pi OSが動作済みで、ディスプレイ/キーボード接続またはSSH接続によってRaspberry Pi OSのターミナルが操作できる状態を前提としています。

Raspberry Pi OSのセットアップにはこちらも参考にしてください: www.bioerrorlog.work

Raspberry Pi OSにDockerをインストールする

以下の手順でDockerをインストールしていきます。

  1. OSアップデート
  2. Dockerのダウンロード/インストール
  3. Dockerインストールの確認
  4. ユーザにDockerへの権限を付与
  5. 再起動
  6. 動作確認:hello-worldコンテナを動かす

1. OSアップデート

まず、以下のコマンドでOSをアップデート/アップグレードして最新の状態に更新します。

sudo apt update && sudo apt upgrade

2. Dockerのダウンロード/インストール

Docker公式が提供しているインストールスクリプトを取得/実行して、Dockerをインストールします。

curl -sSL https://get.docker.com | sh

3. Dockerインストールの確認

docker --versionを実行し、Dockerが無事インストールされたことを確認します。

$ docker --version
Docker version 20.10.7, build f0df350

4. ユーザにDockerへの権限を付与

Dockerをインストールした直後の状態では、ユーザにDocker実行の権限がありません。 毎回sudoで実行する必要があります。

これを解消するために、ユーザにDocker実行の権限を付与(dockerグループに追加)します。

sudo usermod -aG docker ${USER}

${USER}は、現在のユーザを指し示す変数です。 ユーザ名を直接指定しても同じく権限を付与することが出来ます。

sudo usermod -aG docker [user_name]

5. 再起動

ユーザへのDocker実行権限付与を反映させるため、Raspberry Piを再起動します。

6. 動作確認:hello-worldコンテナを動かす

ここまでの手順で、Dockerのインストールとユーザへの実行権限付与が出来ました。

最後にhello-worldコンテナを実行して、Dockerが実行できることを確認します。

$ docker run hello-world
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
2c7ed585684a: Pull complete 
Digest: sha256:df5f5184104426b65967e016ff2ac0bfcd44ad7899ca3bbcf8e44e4461491a9e
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.
    (arm32v7)
 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/

上記のようにhello-worldコンテナが実行できれば成功です。

おわりに

今回は、Raspberry PiにDockerをインストールする方法をまとめました。

Raspberry Pi OSのアーキテクチャ(Arm32)には気を付ける必要がありますが、これでコンテナをRaspberry Piで動かすことが出来るようになりました。

どんな使い方が出来るか、想像が膨らみます。

[関連記事]

www.bioerrorlog.work

www.bioerrorlog.work

www.bioerrorlog.work

参考

How To Install Docker and Docker-Compose On Raspberry Pi - DEV Community 👩‍💻👨‍💻

Docker comes to Raspberry Pi - Raspberry Pi