このページで解説している内容は、以下の YouTube 動画の解説で見ることができます。
Docker超入門:Dockerコンテナの一生(ライフサイクル)を追体験

Dockerコンテナの一生(ライフサイクル)を追体験
Dockerのコンテナは、生まれてから削除されるまでに一連の流れを辿ります。これを ライフサイクル と呼びます。イメージの取得からコンテナの作成・実行・停止・削除までを順番に追体験していくことで、コンテナがどのように管理されているのかが自然と理解できるようになります。ここでは、nginxイメージを例に、その一生を詳しく解説していきます。

コンテナのライフサイクルの流れ
コンテナは次のように状態を遷移していきます。

① イメージのダウンロード(pull)
↓
② コンテナの作成
↓
③ コンテナの実行
↓
④ コンテナの停止
↓
⑤ コンテナの削除
この流れに対応するコマンドを知ると、Dockerを自在に扱えるようになります。
① イメージのダウンロード(pull)

まずは利用したいイメージを取得します。ここではnginxを例にします。
docker pull nginxタグを指定しなければ latest が取得されます。
出力例
既にnginxのイメージがある場合は、下のような出力となります。
PS C:\Users\joeac> docker pull nginx
Using default tag: latest
latest: Pulling from library/nginx
Digest: sha256:d5f28ef21aabddd098f3dbc21fe5b7a7d7a184720bc07da0b6c9b9820e97f25e
Status: Image is up to date for nginx:latest
docker.io/library/nginx:latest確認には以下を使います。
docker image ls出力例
PS C:\Users\joeac> docker image ls
REPOSITORY TAG IMAGE ID CREATED SIZE
nginx latest d5f28ef21aab 5 weeks ago 279MB| 項目 | 説明 |
|---|---|
| REPOSITORY | イメージ名 |
| TAG | バージョンや識別子 |
| IMAGE ID | イメージの固有ID |
| CREATED | 作成日時 |
| SIZE | 容量 |
② コンテナの作成と ③ コンテナの実行

作成と実行は同時に行えます。以下のコマンドでnginxコンテナを起動します。
docker container run --name webserver3 -d -p 8080:80 nginx| 部分 | 意味 |
|---|---|
| docker container run | 新しいコンテナを作成し起動 |
| --name webserver3 | コンテナ名を指定 |
| -d | デタッチモード(バックグラウンド起動) |
| -p 8080:80 | ホスト8080 → コンテナ80へポートマッピング |
| nginx | 使用するイメージ |
-dオプション はWebサーバーのように常時動かすサービスで便利です。
-pオプション は「ホストポート:コンテナポート」の形式で指定します。
出力例
PS C:\Users\joeac> docker container run --name webserver3 -d -p 8080:80 nginx
e1e60c6a90ec98e7b1dd7016d367a0a2df90ea7aba545d1b6b753a90dfbe9d64 Webブラウザで http://localhost:8080 を開くと「Welcome to nginx!」が表示され、動作確認ができます。

④ コンテナの停止

実行中のコンテナは次のコマンドで停止します。
docker stop webserver3出力例
PS C:\Users\joeac> docker stop webserver3
webserver3停止後、ブラウザをリロードすると、ページは表示されなくなります。
これでコンテナがサービスを提供していないことが確認できます。

③ 再びコンテナの実行

一度停止したコンテナは再度起動可能です。
docker start webserver3出力例
PS C:\Users\joeac> docker start webserver3
webserver3再びブラウザでアクセスすると「Welcome to nginx!」が戻ってきます。

⑤ コンテナの削除

不要になったコンテナは削除します。削除にはまず停止が必要です。
PS C:\Users\joeac> docker stop webserver3
webserver3
PS C:\Users\joeac> docker container rm webserver3
webserver3もし削除できない場合は、強制削除のオプションをつけます。
docker container rm -f webserver3主なコマンドとオプション一覧
| コマンド | 説明 |
|---|---|
| docker pull イメージ名 | イメージを取得 |
| docker image ls | イメージ一覧を表示 |
| docker container run | コンテナを作成・実行 |
| docker stop コンテナ名 | コンテナを停止 |
| docker start コンテナ名 | 停止中のコンテナを起動 |
| docker container rm コンテナ名 | コンテナを削除 |
| docker container rm -f コンテナ名 | コンテナを強制削除 |
| オプション | 説明 |
|---|---|
| --name | コンテナ名を指定 |
| -d | デタッチモード(バックグラウンド実行) |
| -p A:B | ホストAポートとコンテナBポートを関連付け |
まとめ
Dockerコンテナは「イメージを取得して → 作って → 実行して → 停止して → 削除する」というシンプルな流れで一生を終えます。それぞれの段階で対応するコマンドを覚えれば、Dockerの基本的な使い方はバッチリです。
この流れを何度か追体験すると、Dockerの操作に自然と慣れていきます。
