Raspberry Pi (Ubuntu) に Docker Compose v2をインストール

Raspberry Pi(以下ラズパイ)に、docker compose v2をインストールしました。
ちょっとつまづいたので、忘れないうちにブログに残しておきます。

環境

  • Raspberry Pi 2 Model B
  • OS: Ubuntu 20.04 LTS

Dockerのインストール

Install Docker Engine on Ubuntu | Docker Documentation を参考に、まずはDockerをインストールします。

まずは必要なpackageをインストールします。

sudo apt-get update

sudo apt-get install \
    ca-certificates \
    curl \
    gnupg \
    lsb-release

次にDockerのGPG keyを追加します。

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

レポジトリに安定版のDockerを追加します。

echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \
  $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

上記が終わったら、Docker Engineをインストールします。

sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io

現在のユーザをdockerグループに追加し、sudoなしでdockerコマンドを実行できるようにします。

sudo usermod -aG docker $USER

上記のコマンドを実行終えたら、一旦 exit でログアウトし再度ラズパイにログインします。

docker version でバージョン情報が取れれば完了です。

実行結果:

~$ docker version
Client: Docker Engine - Community
 Version:           20.10.13
 API version:       1.41
 Go version:        go1.16.15
 Git commit:        a224086
 Built:             Thu Mar 10 14:07:51 2022
 OS/Arch:           linux/amd64
 Context:           default
 Experimental:      true

Server: Docker Engine - Community
 Engine:
  Version:          20.10.13
  API version:      1.41 (minimum version 1.12)
  Go version:       go1.16.15
  Git commit:       906f57f
  Built:            Thu Mar 10 14:05:44 2022
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          1.5.10
  GitCommit:        2a1d4dbdb2a1030dc5b01e96fb110a9d9f150ecc
 runc:
  Version:          1.0.3
  GitCommit:        v1.0.3-0-gf46b6ba
 docker-init:
  Version:          0.19.0
  GitCommit:        de40ad0

Docker Compose v2のインストール

Compose V2 | Docker Documentation を参考に、Docker Compose v2をインストールします。

公式ドキュメントだと linux-x86_64 となっていますが、Raspberry Pi 2の場合は linux-armv7 (Pi 3以降の場合はarmv8)にします。 (参考: Raspberry Pi - Wikipedia)
変更しないとdocker compose versionコマンドを実行しても何も表示されません。

DOCKER_CONFIG=${DOCKER_CONFIG:-$HOME/.docker}
mkdir -p $DOCKER_CONFIG/cli-plugins
curl -SL https://github.com/docker/compose/releases/download/v2.3.4/docker-compose-linux-armv7 -o $DOCKER_CONFIG/cli-plugins/docker-compose

ダウンロードしたら、実行権限を付与します。

chmod +x $DOCKER_CONFIG/cli-plugins/docker-compose

docker compose version を実行し、バージョン情報が取れれば完了です。

実行結果:

~$ docker compose version
Docker Compose version v2.2.3

関連記事