ここでは、Raspberry Pi上のAlmaLinuxとRocky LinuxにDockerをインストールしていこうと思います。AlmaLinuxもRocky LinuxもRHEL互換として同じ手順になりますから、まとめたものとしています。
Dockerリポジトリーの追加
最初にyum-utils
パッケージをインストールして、Dockerリポジトリーを追加します。
$ sudo dnf install -y yum-utils
$ sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
Dockerのインストール
用意ができましたから、Dockerのパッケージをインストールします。
$ sudo dnf install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
ここでは、dnf install
に-y
のオプションをつけていない点に注意して下さい。
実行中にインストールの確認が表示されますから、y
で応答します。
次に、GPG鍵のインストールとしてフィンガープリントが表示されますから、060A 61C5 1B55 8A7F 742B 77AA C52F EB6B 621E 9F35
となっていることを確認してから正しければy
で応答してインストールを続けます。
GPG 鍵 0x621E9F35 をインポート中:
Userid : "Docker Release (CE rpm) <docker@docker.com>"
Fingerprint: 060A 61C5 1B55 8A7F 742B 77AA C52F EB6B 621E 9F35
From : https://download.docker.com/linux/centos/gpg
これでよろしいですか? [y/N]: y
自動起動の設定
Dockerサービスを起動してから、システム起動時に自動的に起動するように設定しておきます。
$ sudo systemctl start docker.service
$ sudo systemctl enable docker.service
状態を確認すると、Active: active (running)
として表示されます。
$ systemctl status docker.service
一般ユーザーでの利用設定
このままでは、root
ユーザーだけが利用できる状態ですからalma
やrocky
などの一般ユーザーがDockerを利用できるようにdocker
グループに追加します。
$ sudo usermod -aG docker ${USER}
ログインし直すか、またはnewgrp
コマンドを実行してからバージョンを確認してみます。
$ newgrp docker
$ docker version
Client: Docker Engine - Community
Version: 24.0.6
API version: 1.43
Go version: go1.20.7
Git commit: ed223bc
Built: Mon Sep 4 12:32:21 2023
OS/Arch: linux/arm64
Context: default
Server: Docker Engine - Community
Engine:
Version: 24.0.6
API version: 1.43 (minimum version 1.12)
Go version: go1.20.7
Git commit: 1a79695
Built: Mon Sep 4 12:31:13 2023
OS/Arch: linux/arm64
Experimental: false
containerd:
Version: 1.6.24
GitCommit: 61f9fd88f79f081d64d6fa3bb1a0dc71ec870523
runc:
Version: 1.1.9
GitCommit: v1.1.9-0-gccaecfc
docker-init:
Version: 0.19.0
GitCommit: de40ad0
ここでの一般ユーザーでの利用設定ができていないと、上記のバージョンでServer:
の部分が表示されなくなっています。現在のバージョンは24.0.6
になっていました。
続けてdocker-compose
のバージョンも確認してみます。
$ docker compose version
Docker Compose version v2.21.0
docker-compose
が、以前のように独立したコマンドではなくDocker CLIコマンドのプラグインとして実装されていますから、docker compose
として実行しています。
初めの一歩として、hello-world
を実行してみます。
$ docker run --rm hello-world
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
70f5ac315c5a: Pull complete
Digest: sha256:4f53e2564790c8e7856ec08e384732aa38dc43c52f02952483e3f003afbf23db
Status: Downloaded newer image for hello-world:latest
Hello from Docker!
This message shows that your installation appears to be working correctly.
(以下略)
正常に実行できていることが確認できました。
これで、AlmaLinuxやRocky Linuxでも、多くのDockerコンテナーを実行することができるようになりました。
参考: Install Docker Engine on RHEL Docker公式ドキュメント