この記事では、2025年リリースの最新OS AlmaLinux 10.1 に Docker Engine をインストールし、次世代の開発環境を構築する手順を解説します。
安定版の AlmaLinux 9 をご利用の方、または既存システムのメンテナンスを行いたい方は以下の記事をご覧ください。 ▶ AlmaLinux 9 (LTS) のDockerインストール手順はこちら
AlmaLinux 10 Docker構築ガイド
AlmaLinux 10 は Linux Kernel 6.12 を採用しており、コンテナのパフォーマンスやスケジューリング機能が向上しています。 RHEL 10系では Podman がより深くシステムに統合されていますが、既存のエコシステムや開発ツールの都合上、Docker Engineが必要なケースは依然として多いです。
この記事のゴール
- システム標準のPodmanと競合させずにDockerを入れる
- 公式リポジトリから最新のDocker Engine (CE) を導入する
sudoなしで実行できるように権限を調整する
検証環境
| OS | カーネル | Dockerバージョン |
|---|---|---|
| AlmaLinux 10.1 | 6.12.x | 29.1.3 |
前提条件
- OS: AlmaLinux 10.1 がインストール済みであること
- 権限:
sudo可能なユーザーで操作すること - ネットワーク: 外部リポジトリへの接続が可能であること
Docker Engine インストール手順
Docker公式リポジトリを使用し、最新かつ安定した環境を構築します。
- STEP
競合パッケージの削除
AlmaLinux 10では、標準でコンテナツール(Podman等)が含まれている場合が多いです。Dockerと競合するため、以下のコマンドで関連パッケージを一掃します。
Terminal window sudo dnf remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotate \docker-engine \podman \runc※「パッケージはインストールされていません」と出ても問題ありません。
- STEP
リポジトリのセットアップ
dnf-utilsを入れ、Docker公式のCentOS用リポジトリを追加します。 (AlmaLinuxはRHEL/CentOSとバイナリ互換があるため、CentOSリポジトリを使用するのが標準です)Terminal window sudo dnf install -y dnf-utilssudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo - STEP
パッケージのインストール
Docker Engine本体と、CLIツール、Containerdランタイム、およびComposeプラグインを一括でインストールします。
Terminal window sudo dnf install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin途中、GPG鍵のインポートを求められた場合は
yを入力して承認してください。 - STEP
バージョンの確認
インストールが正常に完了したか確認します。
Terminal window docker --version# 出力例: Docker version 29.1.3, build f52814d
サービスの起動と自動化
インストール直後はDockerサービスは停止しています。
systemctl コマンドで起動し、サーバー再起動時にも自動的に立ち上がるように設定します。
sudo systemctl enable --now docker以下のコマンドで active (running) になっていることを確認してください。
systemctl status docker
必須設定:一般ユーザーでの実行許可
デフォルトではDockerコマンドの実行に sudo が必要ですが、開発効率が悪いため、現在のユーザーを docker グループに追加します。
- STEP
グループへの追加
以下のコマンドを実行し、現在ログイン中のユーザーを
dockerグループに追加します。Terminal window sudo usermod -aG docker $USER - STEP
設定の反映
グループ情報の変更を現在のシェルに反映させます。一度ログアウトしても構いませんが、以下のコマンドなら即座に反映されます。
Terminal window newgrp docker - STEP
動作確認(Hello World)
sudoなしでコンテナが起動できるかテストします。Terminal window docker run hello-world以下のようなメッセージが表示されれば、権限設定は成功です。
Hello from Docker!This message shows that your installation appears to be working correctly....
Docker Compose について
AlmaLinux 10向けの最新Dockerでは、Docker Composeは独立したコマンドではなく、CLIプラグイン (docker compose) として提供されています。
バージョン確認
docker compose version# 出力例: Docker Compose version v2.30.1compose.yml の推奨記述
現在はファイル名を docker-compose.yml ではなく compose.yml とし、ファイル内の version: '3' などの記述を省略するのがベストプラクティス(Compose Specification)です。
services: web: image: nginx:latest ports: - "80:80"トラブルシューティング
Q. “Requires: container-selinux” エラーが出る
A. dnf install 時にこのエラーが出る場合、EPELリポジトリ等が干渉している可能性がありますが、通常は appstream リポジトリに含まれています。sudo dnf install container-selinux を先に実行してみてください。
Q. ファイアウォールの設定は必要ですか?
A. Dockerは自動的に iptables ルールを変更して通信を許可しようとしますが、AlmaLinux 10の firewalld と競合することがあります。開発環境であればそのままでも通ることが多いですが、つながらない場合は firewall-cmd --add-masquerade --permanent などを検討してください。
まとめ
これでAlmaLinux 10環境でDocker開発を行う準備が整いました。 次は、開発効率を上げるためにVSCodeをインストールしたり、具体的なコンテナ構築に進みましょう。