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を押して続行します。

install dnf utils

次に、以下のdnfコマンドを使用してDocker CEリポジトリを追加します。

sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

Docker CEリポジトリが追加されたら、以下のコマンドを使用して確認します。これにより、Alma Linux上の利用可能なリポジトリのリストが表示されます。

sudo dnf repolist

成功すると、次のような出力が得られます:

adding repository

次のセクションに進んで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を押して続行します。

installing Docker

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

accept gpg key

Dockerがインストールされたら、以下のsystemctlコマンドを実行して’docker’サービスを開始し、有効にします。

sudo systemctl start docker  
sudo systemctl enable docker

コマンドを実行した後、Dockerが稼働し、システム起動時に自動的に開始されるように有効になります。

以下のコマンドを実行してDockerサービスのステータスを確認し、Dockerが稼働していることを確認します。

sudo systemctl status docker

Dockerが稼働している場合、次のような出力が得られるはずです:

start enable and verify docker

非rootユーザーにDockerコンテナを実行させる

デフォルトでは、Dockerを介してコンテナを実行できるのはrootユーザーのみです。このセクションでは、ユーザーを既存の’docker‘グループに追加することで、非rootユーザーがDockerコンテナを実行できるようにする方法を示します。

以下のコマンドを実行して、ユーザーを’docker‘グループに追加します。この例では、’testuser‘というユーザーを使用します。

sudo usermod -aG docker testuser

次に、以下のコマンドを使用してユーザーとしてログインします。その後、以下の’docker run‘コマンドを実行してコンテナ’hello-world‘を実行します。

su - testuser  
docker run hello-world

成功すると、次のような出力が得られるはずです:

running container as non root user

次に、以下の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イメージの利用可能なバージョンのリストが表示されます。

list tags docker hub

次に、以下の’docker pull‘コマンドを実行してDockerイメージをダウンロードします。この例では、イメージ’nginx:alpine‘をダウンロードします。これはNginx Alpineイメージの最新バージョンを指します。

docker pull nginx:alpine

docker pull download image

ダウンロードが完了したら、以下のコマンドを実行してホスト上の利用可能なイメージのリストを表示します。最初からこれらの手順を実行している場合、’hello-world‘(タグ’latest‘)と’nginx‘(タグ’alpine‘)の2つのDockerイメージが表示されるはずです。

docker images

listing 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/

check nginx container

最後に、外部ネットワークからコンテナにアクセスするには、以下の’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ページの出力が得られるはずです。

index.html nginx container

コンテナのログ

ログはDockerにおいて重要であり、特にアプリケーションのイメージを開発している場合は重要です。ログはアプリケーション開発のデバッグに役立ちます。

以下のコマンドを実行して、コンテナ’web‘の完全なログを取得します。

docker logs web

以下は、コンテナ’web‘から得られる類似の出力です。

logging container

また、以下のように’tail‘パラメータを使用してログの出力を制限することもできます。このコマンドは、コンテナ’web‘のログの最後の5行を表示します。

docker logs --tail 5 web

limit logging

コンテナの管理

このセクションでは、コンテナを管理する方法を学びます。コンテナを開始、停止、削除する方法を学びます。

コンテナ’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

removing container

ボリュームの操作

ボリュームは、ローカルボリューム/ディレクトリをコンテナに接続する場所です。ボリュームは、仮想マシン内の’共有フォルダ‘のようなものと考えることができます。このセクションでは、ローカルディレクトリをコンテナに接続できるカスタムボリュームを持つ新しいコンテナを作成します。

まず、新しいプロジェクトディレクトリ’~/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

create custom index

次に、以下のコマンドを実行して、’-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/

nginx container with custom index

以下は、ウェブブラウザからアクセスしたときのカスタム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

log in to container

次に、以下のコマンドを実行してコンテナのIPアドレスとデフォルトゲートウェイを確認します。

ip a  
route -n

次のような出力が得られるはずです:

show container ip

コンテナ’web’がNginxプロセスを実行しているため、以下のcurlコマンドを使用してローカルIPアドレスを介してコンテナにアクセスできます。この例では、コンテナのIPアドレスは’172.17.0.2‘です。同じindex.htmlページが表示されるはずです。

curl 172.17.0.2

accessing nginx via local ip container

結論

このガイドを完了したので、Alma Linux 9にDockerをインストールする方法を知っているはずです。また、イメージとコンテナの管理、デバッグ目的のためのコンテナのログ、Dockerボリュームの操作、コンテナにログインするための’docker exec’の基本的な使用法のシナリオを完了しました。

Share: X/Twitter LinkedIn

新しい投稿を受信箱で受け取る

スパムはありません。いつでも購読を解除できます。