この記事では、現在多くのサーバーで稼働している AlmaLinux 9 (RHEL 9互換) 環境に、Docker Engine をインストールする手順を解説します。
最新機能を使いたい方や、AlmaLinux 10 をご利用の方は以下の記事をご覧ください。 ▶ AlmaLinux 10 (最新版) のDockerインストール手順はこちら
AlmaLinux 9 Docker構築ガイド
この記事でできること
- 安定版OSへの公式Dockerインストール
podman競合の解消- 一般ユーザー権限での実行設定
検証環境
| OS | カーネル | Dockerバージョン |
|---|---|---|
| AlmaLinux 9.7 | 5.14.0 | 29.1.3 |
前提条件
- OS: AlmaLinux 9.x がインストール済みであること
- 権限:
sudo可能なユーザーで操作すること
Docker Engine インストール手順
Docker公式のCentOS用リポジトリを使用し、安定版をインストールします。
- STEP
古いパッケージの削除
システムにプリインストールされている競合パッケージ(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公式リポジトリを追加します。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 # 起動と自動起動設定を同時に行うsudo systemctl enable --now docker状態確認:
Terminal window systemctl status docker# Active: active (running) となっていればOK
必須設定:一般ユーザーでの実行許可
デフォルトでは sudo が必要ですが、開発効率のため現在のユーザーを docker グループに追加します。
- STEP
グループへの追加
Terminal window sudo usermod -aG docker $USER - STEP
設定の反映
現在のシェルセッションにグループ変更を適用します。
Terminal window newgrp docker - STEP
動作確認
sudoなしでHello Worldコンテナを実行してみます。Terminal window docker run hello-world以下のようなメッセージが表示されれば成功です。
Hello from Docker!This message shows that your installation appears to be working correctly.
Docker Compose について
AlmaLinux 9向けの最新Dockerでは、Docker Composeは CLIプラグイン として提供されています。
従来の docker-compose (ハイフンあり) コマンドではなく、docker compose (スペースあり) を使用します。
バージョン確認
docker compose version# 出力例: Docker Compose version v2.xx.x設定ファイル名
現在は docker-compose.yml ではなく、compose.yml というファイル名が推奨されています。また、ファイル内の version: '3' 記述は省略可能です。
トラブルシューティング
Q. ファイアウォール(firewalld)との相性は?
A. Dockerはiptablesを直接操作するため、firewalldの設定と競合することがあります。コンテナから外部へ通信できない(DNS解決できない)場合は、マスカレード設定を確認してください。
sudo firewall-cmd --add-masquerade --permanent
sudo firewall-cmd --reload
まとめ
これでAlmaLinux 9環境でDockerを利用する準備が整いました。
サーバー用途として安定稼働させる場合、定期的な dnf update でセキュリティパッチを適用することをお勧めします。
関連記事