Dockerインストール · 2 min read · Oct 05, 2025
Alma Linux 9におけるDocker CE: 簡単で迅速なインストールガイド

Dockerは、アプリケーションの開発、配信、実行のためのOSレベルの仮想化を提供するオープンソースソフトウェアです。Dockerでは、アプリケーションはコンテナと呼ばれる標準化されたユニットとしてパッケージ化されて配信されます。各コンテナは、ライブラリや設定ファイルを含めて互いに隔離されていますが、それぞれは明確に定義されたネットワークチャネルを介して通信できます。
現在、Dockerはソフトウェア開発とDevOpsの標準となっています。何百万人もの開発者が、毎日仕事でアプリケーションを構築、共有、実行するために使用しています。アプリケーション開発のライフサイクル、すなわち開発自体、テスト、そして本番環境で使用されています。Dockerを使用することで、アプリケーションはより柔軟でポータブルになります。アプリケーションは、ライブラリから設定ファイルまで、同じものでありながら、異なるオペレーティングシステム上で簡単に実行できます。
このガイドでは、Alma Linux 9にDocker CE(コミュニティエディション)をインストールする方法を学びます。このガイドでは、イメージ、コンテナ、ボリュームの管理、コンテナログの操作、Dockerホストを介したコンテナへのアクセスなど、Dockerの基本的な使用法もカバーします。
前提条件
このガイドには以下が必要です:
- Alma Linux 9を実行しているLinuxサーバー - この例では、ホスト名が ‘alma-linux‘、IPアドレスが ‘192.168.5‘のAlma Linuxサーバーを使用します。
- sudo/root管理者権限を持つ非rootユーザー。
Docker CEリポジトリの追加
Dockerは、コンテナを介してアプリケーションを開発、配信、実行するためのオーケストレーションツールです。Dockerは、ホストマシンに依存せずにアプリケーションイメージを作成できるため、開発プロセスを迅速にします。これにより、開発者へのアプリケーションの配布が迅速かつ簡単になります。
Dockerはマルチプラットフォームのコンテナオーケストレーションであり、デスクトップとサーバーにインストールできます。デスクトップを使用している場合はDocker Desktopをインストールできますが、サーバーを使用している場合は公式Dockerリポジトリを介してDocker Engineをインストールできます。
最初のセクションでは、Alma LinuxサーバーにDocker CEリポジトリを設定します。
以下のコマンドを実行して、’dnf-utils‘パッケージをインストールします。
sudo dnf install dnf-utilsプロンプトが表示されたらyを入力し、ENTERを押して続行します。

次に、以下のdnfコマンドを使用してDocker CEリポジトリを追加します。
sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repoDocker CEリポジトリが追加されたら、以下のコマンドを使用して確認します。これにより、Alma Linux上の利用可能なリポジトリのリストが表示されます。
sudo dnf repolist成功すると、次のような出力が得られます:

次のセクションに進んでDocker CEをインストールします。
Docker CEのインストール
このセクションでは、Alma LinuxサーバーにDocker CEをインストールします。このセクションの終わりまでに、システム上でDockerが稼働している状態になります。
以下のdnfコマンドを使用してDocker CEをインストールします。これにより、Docker Buildプラグインである‘docker-buildx-plugin‘と、アプリケーションの開発を容易にするためのDocker Composeプラグインである‘docker-compose-plugin‘を含むDockerがインストールされます。
sudo dnf install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-pluginプロンプトが表示されたらyを入力して確認し、ENTERを押して続行します。

また、DockerリポジトリのGPGキーを確認するように求められます。確認するために入力し、ENTERを押します。

Dockerがインストールされたら、以下のsystemctlコマンドを実行して’docker’サービスを開始し、有効にします。
sudo systemctl start docker
sudo systemctl enable dockerコマンドを実行した後、Dockerが稼働し、システム起動時に自動的に開始されるように有効になります。
以下のコマンドを実行してDockerサービスのステータスを確認し、Dockerが稼働していることを確認します。
sudo systemctl status dockerDockerが稼働している場合、次のような出力が得られるはずです:

非rootユーザーにDockerコンテナを実行させる
デフォルトでは、Dockerを介してコンテナを実行できるのはrootユーザーのみです。このセクションでは、ユーザーを既存の’docker‘グループに追加することで、非rootユーザーがDockerコンテナを実行できるようにする方法を示します。
以下のコマンドを実行して、ユーザーを’docker‘グループに追加します。この例では、’testuser‘というユーザーを使用します。
sudo usermod -aG docker testuser次に、以下のコマンドを使用してユーザーとしてログインします。その後、以下の’docker run‘コマンドを実行してコンテナ’hello-world‘を実行します。
su - testuser
docker run hello-world成功すると、次のような出力が得られるはずです:

次に、以下のdockerコマンドを実行して、システム上の実行中のコンテナを確認します。
docker ps
docker ps -a最初の’docker ps‘コマンドは出力がないはずです。なぜなら、実行中のコンテナのみを表示するからで、コンテナ’hello-world‘は「Hello from Docker」メッセージが表示された後に終了/停止しています。しかし、’docker ps -a‘の2番目のコマンドでは、実行中のコンテナと終了したコンテナの両方の出力が得られます。
Dockerの基本的な使用法
これで、Dockerが稼働しており、非rootユーザーがDockerコンテナを実行できるようになりました。次に、Dockerの基本的な使用法に進みましょう。
以下のステップでは、Dockerを使用するいくつかのシナリオを示します。Dockerイメージの管理、コンテナとボリュームの操作、ホストマシンからコンテナにアクセスする方法を学びます。
すべてが整ったので、始めましょう。
イメージの操作
最初のステップでは、Dockerイメージを操作します。イメージをダウンロードし、ローカルマシン上の利用可能なイメージのリストを確認します。
イメージをダウンロードするには、DockerHubにアクセスし、ダウンロードしたいDockerイメージの名前を入力します。この例では、タグ’alpine‘の’nginx‘イメージをダウンロードします。TAGSタブをクリックすると、Nginxイメージの利用可能なバージョンのリストが表示されます。

次に、以下の’docker pull‘コマンドを実行してDockerイメージをダウンロードします。この例では、イメージ’nginx:alpine‘をダウンロードします。これはNginx Alpineイメージの最新バージョンを指します。
docker pull nginx:alpine
ダウンロードが完了したら、以下のコマンドを実行してホスト上の利用可能なイメージのリストを表示します。最初からこれらの手順を実行している場合、’hello-world‘(タグ’latest‘)と’nginx‘(タグ’alpine‘)の2つのDockerイメージが表示されるはずです。
docker images
コンテナの操作
Dockerイメージがダウンロードされたので、コンテナを実行できます。このセクションでは、Dockerを介してコンテナを作成し、実行する方法を示します。
コンテナを実行するには、以下の’docker run‘コマンドを実行します。
docker run -it -d -p 8080:80 --name web nginx:alpineこのコマンドは、Dockerイメージ’nginx:alpine‘に基づいて、’web‘という新しいコンテナを作成します。新しいコンテナ’web‘は、Dockerホスト上のポート’8080‘を公開し、コンテナ内のポート80に等しくなります。追加のパラメータ’-it‘は、コンテナをインタラクティブモードで実行するために使用され、パラメータ’-d‘は、コンテナをバックグラウンドで実行します。
コマンドが実行されると、ランダムな番号と文字列が表示され、これが’CONTAINER ID‘です。
次に、以下のコマンドを実行して実行中のコンテナのリストを確認します。
docker ps次のような出力が得られるはずです - コンテナ’web‘が’Up‘の状態で、Dockerホスト上のポート8080を公開しています。
次に、以下のcurlコマンドを実行して、ポート8080で公開されているコンテナ’web’にアクセスします。成功すると、コンテナ’web‘のデフォルトのindex HTMLソースコードが表示されます。
curl http://192.168.5.43:8080/
最後に、外部ネットワークからコンテナにアクセスするには、以下の’firewall-cmd‘コマンドを使用してAlma Linuxサーバーでポート8080を開く必要があります。
sudo firewall-cmd --add-port=8080/tcp --permanent
sudo firewall-cmd --reload次に、ウェブブラウザを開き、ローカルマシンからサーバーのIPアドレスにポート8080を追加してアクセスします(例: http://192.168.5.43:8080/)。コンテナ’web’のindex.htmlページの出力が得られるはずです。

コンテナのログ
ログはDockerにおいて重要であり、特にアプリケーションのイメージを開発している場合は重要です。ログはアプリケーション開発のデバッグに役立ちます。
以下のコマンドを実行して、コンテナ’web‘の完全なログを取得します。
docker logs web以下は、コンテナ’web‘から得られる類似の出力です。

また、以下のように’tail‘パラメータを使用してログの出力を制限することもできます。このコマンドは、コンテナ’web‘のログの最後の5行を表示します。
docker logs --tail 5 web
コンテナの管理
このセクションでは、コンテナを管理する方法を学びます。コンテナを開始、停止、削除する方法を学びます。
コンテナ’web‘を停止するには、以下の’docker stop‘コマンドを実行します。
docker stop web次に、以下のコマンドを使用してコンテナを確認します。コンテナ’web‘が’Exited‘の状態で出力されるはずです。
docker ps
docker ps -aコンテナ’web‘を再度開始するには、以下の’docker start‘コマンドを実行します。その後、’docker ps‘コマンドを使用して実行中のコンテナのリストを確認します。
docker start web
docker psコンテナ’web‘が’Up‘の状態で稼働しているという出力が得られるはずです。
最後に、以下のコマンドを実行してコンテナ’web‘を削除します。コンテナを削除する前に、まずコンテナを停止する必要があります。
docker stop web
docker rm web‘docker ps‘コマンドを使用してコンテナのリストを確認すると、コンテナ’web‘が削除されたという出力が得られるはずです。
docker ps -a
ボリュームの操作
ボリュームは、ローカルボリューム/ディレクトリをコンテナに接続する場所です。ボリュームは、仮想マシン内の’共有フォルダ‘のようなものと考えることができます。このセクションでは、ローカルディレクトリをコンテナに接続できるカスタムボリュームを持つ新しいコンテナを作成します。
まず、新しいプロジェクトディレクトリ’~/project/data‘を作成し、作業ディレクトリをその中に移動します。
mkdir -p ~/project/data; cd ~/project次に、以下のコマンドを実行して新しいファイル’data/index.html‘を作成します。このファイルは、新しい’web‘コンテナのデフォルトのindex.htmlページを置き換えます。
cat > data/index.html << EOF
Welcome to Docker Nginx
Hello from Nginx container
EOF
次に、以下のコマンドを実行して、’-v‘パラメータを介してカスタムボリュームを持つ新しいコンテナ’web‘を作成して実行します。この例では、ローカルディレクトリ’~/project/data‘をコンテナ’web’にマウントし、ターゲットディレクトリ’/usr/share/nginx/html‘にします。追加オプション’:ro‘は、コンテナ内のディレクトリ’/usr/share/nginx/html‘を読み取り専用にし、ホストマシンでは読み書きが許可されます。
docker run -it -d -p 8080:80 --name web -v ~/project/data:/usr/share/nginx/html:ro nginx:alpine次に、以下のコマンドを実行して、新しいコンテナ’web‘が稼働していることを確認します。
docker ps成功すると、次のような出力が得られるはずです - コンテナ’web‘が稼働し、ホストマシン上のポート8080を公開しています。
次に、以下のcurlコマンドを実行してコンテナ’web‘にアクセスします。すべてが順調に進めば、作成したカスタムindex.htmlページのソースコードが表示されるはずです。
curl http://192.168.5.43:8080/
以下は、ウェブブラウザからアクセスしたときのカスタムindex.htmlページです(例: http://192.168.5.43:8080/)。
ホストからコンテナにアクセス
コンテナにアクセスしてログインするには、’docker exec’コマンドを使用できます。これにより、コンテナ内で利用可能なコマンドを実行できます。
以下のコマンドを実行してコンテナ’web‘にログインします。これにより、コンテナ’web‘で’/bin/sh‘コマンドが実行され、パラメータ’-it‘がコンテナに直接移動します。
docker exec -it web /bin/shコンテナにログインしたら、以下のコマンドを実行してコンテナの詳細なホスト名を確認します。コンテナのホスト名は、’CONTAINER ID‘と同じであるべきです。
id
hostname
次に、以下のコマンドを実行してコンテナのIPアドレスとデフォルトゲートウェイを確認します。
ip a
route -n次のような出力が得られるはずです:

コンテナ’web’がNginxプロセスを実行しているため、以下のcurlコマンドを使用してローカルIPアドレスを介してコンテナにアクセスできます。この例では、コンテナのIPアドレスは’172.17.0.2‘です。同じindex.htmlページが表示されるはずです。
curl 172.17.0.2
結論
このガイドを完了したので、Alma Linux 9にDockerをインストールする方法を知っているはずです。また、イメージとコンテナの管理、デバッグ目的のためのコンテナのログ、Dockerボリュームの操作、コンテナにログインするための’docker exec’の基本的な使用法のシナリオを完了しました。
新しい投稿を受信箱で受け取る
スパムはありません。いつでも購読を解除できます。