このページで解説している内容は、以下の YouTube 動画の解説で見ることができます。
【Docker基礎】コンテナを作成・起動・確認・停止・削除してみる

コンテナを作成・起動・確認・停止・削除してみる
ここでは、Dockerを使用してApacheコンテナの基本操作(作成、起動、確認、停止、削除)を実践的に学びます。Apache(httpd)は、多くのWebサイトで利用されているWebサーバソフトウェアです。以下の手順に従って、コンテナのライフサイクルを体験してみましょう。

コンテナの基本情報
今回作成するコンテナの詳細は以下の通りです。
| 項目 | 値 |
|---|---|
| コンテナ名 | ApacheServer |
| イメージ名 | httpd |
| ポート設定 | ホストの8080番ポートをコンテナの80番ポートにマッピング |
使用するコマンドの概要
以下に、使用する主なDockerコマンドとその説明をまとめます。
| コマンド | 説明 |
|---|---|
docker run | 新しいコンテナを作成して起動する。 |
docker ps | 現在稼働中のコンテナの一覧を表示する。 |
docker ps -a | すべてのコンテナ(停止中も含む)の一覧を表示する。 |
docker stop | 指定したコンテナを停止する。 |
docker rm | 指定したコンテナを削除する。 |
各コマンドの詳細
1.docker run
新しいコンテナを作成して起動します。主なオプションは以下の通りです。
| オプション | 説明 |
|---|---|
--name ApacheServer | コンテナに「ApacheServer」という名前を付けて作成します。 |
-d | コンテナをバックグラウンド(デタッチドモード)で実行します。 |
-p 8080:80 | ホストのポート8080をコンテナのポート80にマッピングします。 |
httpd | 使用するイメージ名。バージョンを指定しないため、デフォルトで最新バージョンが使用されます。 |
2.docker ps
現在稼働中のコンテナ一覧を表示します。
3.docker ps -a
すべてのコンテナ(稼働中および停止中)を表示します。
4.docker stop
指定したコンテナを停止します。
5.docker rm
指定したコンテナを削除します。
コンテナの作成から削除までの実践
以下の手順に従って、Apacheコンテナの作成から削除までを実践してみましょう。
Step1:「run」コマンドを実行する
まず、Apacheの公式イメージ(httpd)を使用して「ApacheServer」という名前のコンテナを作成・起動します。初回実行時はイメージのダウンロードが行われるため、時間がかかる場合があります。実行結果に表示される数字列は、環境により異なるイメージIDやコンテナIDです。
コマンドの実行
PowerShellまたはターミナルに以下のコマンドを入力します。
docker run --name ApacheServer -d -p 8080:80 httpdコマンドの解説
docker run: 新しいコンテナを作成して起動します。--name ApacheServer: コンテナに「ApacheServer」という名前を付けます。-d: コンテナをバックグラウンドで実行します。-p 8080:80: ホストのポート8080をコンテナのポート80にマッピングします。httpd: 使用するイメージ名(Apacheの公式イメージ)。
実行結果
PS C:\Users\joeac> docker run --name ApacheServer -d -p 8080:80 httpd
Unable to find image 'httpd:latest' locally
latest: Pulling from library/httpd
fd674058ff8f: Pull complete
8c3081b233c7: Pull complete
4f4fb700ef54: Pull complete
172b239db5c2: Pull complete
bbff13f6be42: Pull complete
d7382fd3e491: Pull complete
Digest: sha256:72f6e24600718dddef131de7cb5b31496b05c5af41e9db8707df371859a350bb
Status: Downloaded newer image for httpd:latest
a14fcfc45d85bd711eec6621aacd5d5fb5ac1e35383061c55d3d8b1c03903a53注意点
Unable to find image 'httpd:latest' locally: ローカルにhttpdイメージが存在しないため、Docker Hubからダウンロードします。- 最後の文字列(例:
a14fcfc45d85...)はコンテナIDで、環境によって異なります。
Step2:「ps」コマンドでコンテナの稼働を確認する
作成・起動したコンテナが正しく稼働しているか確認します。
コマンドの実行
docker ps実行結果
PS C:\Users\joeac> docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
a14fcfc45d85 httpd "httpd-foreground" 28 seconds ago Up 28 seconds 0.0.0.0:8080->80/tcp ApacheServer確認ポイント
NAMES列に「ApacheServer」と表示されている。STATUSが「Up」であること。PORTSに0.0.0.0:8080->80/tcpと表示され、ホストの8080番ポートがコンテナの80番ポートにマッピングされている。
Step3:ブラウザでApacheServerコンテナが動作していることを確認する
ブラウザを開き、以下のURLにアクセスします。
http://localhost:8080/
注意点
- プロトコルは
httpを使用します(httpsではありません)。 - 正常に動作していれば、Apacheのデフォルトページが表示されます。
Step4:「stop」コマンドでコンテナを停止する
コンテナの動作を停止します。
コマンドの実行
docker stop ApacheServer実行結果
PS C:\Users\joeac> docker stop ApacheServer
ApacheServer解説
- コンテナ名「ApacheServer」が停止されたことを示します。
Step5:「ps」コマンドでコンテナの停止を確認する
停止したコンテナが一覧に表示されていないことを確認します。
コマンドの実行
docker ps実行結果
PS C:\Users\joeac> docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES確認ポイント
- 「ApacheServer」が一覧に表示されていないこと。
Step6:「ps -a」コマンドでコンテナの存在を確認する
停止中のコンテナも含めて、コンテナの存在を確認します。
コマンドの実行
docker ps -a実行結果
PS C:\Users\joeac> docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
a14fcfc45d85 httpd "httpd-foreground" 9 minutes ago Exited (0) 4 minutes ago ApacheServer
1024ef450a12 hello-world "/hello" 46 hours ago Exited (0) 2 hours ago frosty_sinoussi確認ポイント
- 「ApacheServer」の
STATUSが「Exited」となっていること。
Step7:「rm」コマンドでコンテナを削除する
不要になったコンテナを削除します。
コマンドの実行
docker rm ApacheServer実行結果
PS C:\Users\joeac> docker rm ApacheServer
ApacheServer解説
- コンテナ名「ApacheServer」が削除されたことを示します。
Step8:「ps -a」コマンドでコンテナの削除を確認する
コンテナが正しく削除されたか確認します。
コマンドの実行
docker ps -a実行結果
PS C:\Users\joeac> docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
1024ef450a12 hello-world "/hello" 46 hours ago Exited (0) 2 hours ago frosty_sinoussi確認ポイント
- 「ApacheServer」が一覧に表示されていないこと。
まとめ
ここでは、Dockerを使用してApacheコンテナを作成・起動し、その稼働状況を確認、停止、削除する一連の流れを実践しました。以下のポイントを押さえておきましょう。
- コンテナの作成・起動:
docker runコマンドを使用し、必要なオプション(名前指定、ポートマッピング、バックグラウンド実行)を設定します。 - コンテナの確認:
docker psおよびdocker ps -aコマンドで、コンテナの稼働状況や存在を確認します。 - コンテナの停止:
docker stopコマンドで、稼働中のコンテナを安全に停止します。 - コンテナの削除:
docker rmコマンドで、不要になったコンテナを削除します。
初めてDockerを操作する方は、コマンドプロンプトやターミナルでの操作に慣れるため、これらの手順を何度か繰り返してみてください。また、カーソルキーの「↑」や「↓」を使って過去のコマンドを呼び出し、再実行する方法も習得すると、効率的に作業が進められます。
