Raspberry Pi3/4にDockerとdocker-composeをインストールする方法
前書き
本記事では、Raspberry Pi3/4(32bit、64bit)のいずれかに対して、Dockerおよびdocker-composeをインストールする方法を紹介します。
Raspberry Piのネットワーク設定が終了している状態を前提とします。
前準備
Dockerはcgroups機能(プロセスが使用するリソースを制限する機能)を使用するため、/boot/cmdline.txtを編集してcgroupsを有効化します。
1 2 3 4 5 6 |
※編集前 console=serial0,115200 console=tty1 root=PARTUUID=2677d299-02 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait ※編集後(cgroup_enable=cpuset cgroup_enable=memory cgroup_memory=1を追加) console=serial0,115200 console=tty1 root=PARTUUID=2677d299-02 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait cgroup_enable=cpuset cgroup_enable=memory cgroup_memory=1 |
編集が終わった後、再起動するとcgroups機能が有効になります。
Dockerのインストール
まずは、Dockerの依存パッケージをインストールします。
1 2 |
$ sudo apt update $ sudo apt install apt-transport-https ca-certificates curl gnupg2 software-properties-common |
次に、Dockerインストール時に用いる署名鍵を取得します。
1 2 3 4 |
(注釈) bash環境で実行してください。fishなどでは変数展開できません。 $ curl -fsSL https://download.docker.com/linux/$(. /etc/os-release; echo "$ID")/gpg | sudo apt-key add - (注釈) $(. /etc/os-release; echo "$ID")の部分は、"debian"です。 |
aptパッケージマネージャのソースリストに対して、Docker公式リポジトリを追加します。
1 2 3 |
$ echo "deb [arch=$(dpkg --print-architecture)] https://download.docker.com/linux/$(. /etc/os-release; echo "$ID") \ $(lsb_release -cs) stable" | \ sudo tee /etc/apt/sources.list.d/docker.list |
最後に、Docker CE(Community Edition)をインストールし、必要であればシステム起動時にDockerが自動起動するようにsystemdの設定を変更します。
1 2 3 4 5 6 |
$ sudo apt update $ sudo apt install -y --no-install-recommends docker-ce cgroupfs-mount (注釈) Dockerの有効化と起動 $ sudo systemctl enable docker $ sudo systemctl start docker |
docker-composeのインストール
Docker Composeは、複数のコンテナから構成されるアプリにおいて、コンテナの起動や停止を簡単できるようにするツールです。
公式サイトが配布しているバイナリがARM向けではないため、Python3パッケージマネージャであるpip3でインストールできるVersionを使用します(この対応は、公式サイトにも記載があります)。
そのため、まずはpip3の依存パッケージをインストールします。
1 |
$ sudo apt install libffi-dev libssl-dev python3 python3-pip python3-dev |
Docker Composeをインストールします。
1 |
$ sudo pip3 install docker-compose |
私は、Docker Composeインストール中にmicroSDカード容量(16GB)が足りなくなり、エラーとなりました。より容量の大きいmicroSDカードに移行する場合は、以下の記事を参考にしてください。
Raspberry Pi4のimage(データ)をバックアップし、より大容量なmicroSDカードにリストアする方法
ロシア人と国際結婚した地方エンジニア。
小学〜大学院、就職の全てが新潟。
大学の専攻は福祉工学だったのに、エンジニアとして就職。新卒入社した会社ではOS開発や半導体露光装置ソフトを開発。現在はサーバーサイドエンジニアとして修行中。HR/HM(メタル)とロシア妻が好き。サイトに関するお問い合わせやTwitterフォローは、お気軽にどうぞ。
1件の返信
[…] Raspberry Pi3/4にDockerとdocker-composeをインストールする方法 […]