
AlmaLinuxはRed Hat Enterprise Linuxのクローンであり、Dockerはインストールされていません。実際、RHELベースのディストリビューションのほとんどは現在、デフォルトでPodmanを使用しています。PodmanはDockerとほぼ同等の機能を備えていますが、私は今でもオリジナル版に愛着があるので、Dockerの代替品よりもPodmanを使うことを好みます。
問題は、RHELベースのディストリビューションにDockerをインストールするのが必ずしも簡単ではないことです。難しいわけではありませんが、適切な手順や使用するフラグを知らないと、Dockerをインストールするのはほぼ不可能でしょう。
参照: 採用キット: バックエンド開発者 (TechRepublic Premium)
幸いなことに、私はチームのために責任を負い、あまりストレスをかけずにそれをやり遂げる方法を見つけました。さあ、実現させましょう。
AlmaLinuxにDockerをインストールするために必要なもの
これを動作させるために必要なのは、AlmaLinux 9 の実行中のインスタンスと sudo 権限を持つユーザーだけです。
AlmaLinuxにDocker CEをインストールする方法
AlmaLinux のインスタンスにログインし、次のコマンドで更新されていることを確認します。
sudo dnf update
注意点として、アップデートには多少時間がかかります。前回のアップデートからどれくらい時間が経過しているか(およびネットワーク接続の速度)によって異なりますが、このプロセスには10分から60分程度かかります。私の場合は、完了までに約30分かかりました。
アップデートが完了したら、便利なグループから提供される開発ツールをインストールする必要があります。インストールは次のコマンドで実行できます。
sudo dnf groupinstall "Development Tools"
繰り返しになりますが、このインストールには多少時間がかかります。アップデートよりも速いですが、少なくとも5分ほどはコマンドの出力を確認する必要があります。
完了したら、アップデートにカーネルが含まれていた場合はサーバーを再起動してください。再起動が完了したら、再度ログインし、以下のコマンドで必要なDockerリポジトリを追加します。
sudo dnf config-manager --add-repo=https://download.docker.com/linux/centos/docker-ce.repo
リポジトリを追加したら、Docker CEをインストールできます。しかし、ここからが重要なポイントです。次のコマンドを実行するだけでインストールできます。
sudo dnf install docker-ce -y
コマンドは失敗します。なぜでしょうか?Dockerの依存関係の多くがPodmanとその依存関係と競合するためです。これを回避するには、Docker CEをインストールすると同時に、Podmanとその関連パッケージを削除する必要があります。これは以下のコマンドで実行できます。
sudo dnf install docker-ce --allowerasing
上記のコマンドが完了したら、次のコマンドで Docker サービスを起動して有効にします。
sudo systemctl enable --now docker
最後に、次のコマンドを使用して、ユーザーを docker グループに追加します。
sudo usermod -aG docker $USER
ログアウトして再度ログインしてください。
次のコマンドで hello-world イメージをプルダウンして、新しいインストールをテストできます。
docker pull hello-world
おめでとうございます。AlmaLinuxでPodmanをDockerに置き換えました。これを実行すべきかどうかは、PodmanがDockerの後継としてふさわしいかどうかによって決まります。そうでない場合は、Ubuntuベースのサーバーディストリビューションに切り替える以外では、これが最善の選択肢です。
Jack Wallen によるビジネス プロフェッショナル向けの最新のテクノロジー アドバイスをすべて知るには、YouTube で TechRepublic の How To Make Tech Work を購読してください。
TechRepublic Academy の以下のリソースを活用して Linux エキスパートになりましょう。
- マスターLinux開発バンドル
- Linux & Docker コーディングバンドル
- 2022年 Linux 認定トレーニング バンドル
- マスターLinuxとGit認定バンドル