最新のDockerインストール方法を、ラズパイ専用のサイトにまとめましたので、是非ご覧ください。
【2023年最新】Raspberry PiにDockerとDocker Composeをインストールする
以下は2021年当時の内容となります。
Raspberry Pi 4 model B(メモリ8GB)を購入しました。Raspberry Pi 3と比べメモリ容量が8倍に増えたので、Dockerをインストールしてサーバーとして運用したら楽しそうだと思いました。
公式サイトを参考に、早速Dockerをインストールしてみます。
(2021/04/20 更新)
デスクトップオートログインの無効化に関するセクションを追加しました。
事前調査
Googleで「Install Docker Raspberry Pi」で検索したところ、Docker公式ドキュメントサイトにRaspberry Piへのインストール方法が載っていました。
https://docs.docker.com/engine/install/debian/
私も公式サイトに記載の通りにインストール作業を進めていきます。私はMacの環境で作業を進めますが、Windowsでも同様かと思います。
64bitのOSイメージをmicroSDカードに書き込む
Docker公式ドキュメントには64bitのOSが必要ですと書いてありましたので、以下のRaspberry Pi公式サイトから最新のRaspberry Pi OS (64bit)をダウンロードします。
https://downloads.raspberrypi.org/raspios_arm64/images/
イメージのzipファイルをダウンロードしたらRaspberry Pi ImagerやBalenaEtcher等のイメージ書き込みツールでmicroSDカードにイメージを書き込みます。
デスクトップオートログインの無効化
先ほど書き込んだOSはデフォルトでデスクトップに自動ログインしてくれます。Dockerを利用する場合その用途としてはサーバ利用が考えられますので、コンソールログイン(自動ログインなし)に変更します。
コンソールにてsudo raspi-config
を起動し、「1 System Option」→「S5 Boot / Auto Login」→「B1 Console」を選択します。その後、<Finish>を選択し一度再起動しましょう。
これで次回以降コンソールで立ち上がります。
[ad]Dockerのインストール
Dockerの公式サイトには3種類のインストール方法が記載されていますが、Installation methodsセクションには以下のように書かれています。
In testing and development environments, some users choose to use automated convenience scripts to install Docker. This is currently the only approach for Raspbian.
https://docs.docker.com/engine/install/debian/#installation-methods
Raspberry Pi OS (旧Raspbian)にインストールする場合はconvenience scriptsを利用する方法が現在の唯一の手段らしいです。従います。
Raspberry Pi OSのコンソールで以下のコマンドを実行するだけでDocker(Docker Engine -Community)のインストールが完了します。とても簡単です。
rootユーザ以外でもDockerを利用可能にする
Dockerはrootユーザまたはdockerグループに所属しているユーザのどちらかでしか実行できません。dockerコマンドを実行する際に毎回sudoをつけて実行するのも面倒なので、一般ユーザ(ここではpi)をdockerグループに所属させます。
コマンド実行後にログアウトして再度ログインすれば一般ユーザでもdockerコマンドを実行することが可能になります。
テスト実行
Docker界ではお馴染みの(?)hello-worldコンテナを起動してみます。
無事にhello-worldコンテナを起動することができました。
まとめ
Docker公式サイトどおりに作業を進めて特につまずくことなくDockerをインストールできました。Raspberry Pi 特有の注意点をあえて挙げるしたら以下の点くらいです。
- OSは64bitバージョンを選択する
- Dockerインストールの際はconvenience scriptsを利用する
- 一般ユーザ(pi)でdockerコマンドを利用する場合はpiユーザをdockerグループに所属させる
- その後ログアウト→ログインを忘れずに
次回はdocker-composeをインストールして使えるようにしたいと思います。
それではまた。