イメージとコンテナの基本操作 — pull・run・ps・stop・rm
Dockerを使う最初の一歩は、イメージを取得し、そこからコンテナを起動することです。
イメージは実行環境のテンプレート、コンテナはそのテンプレートから起動した実体です。node:22 や mysql:8.4 のようなイメージを取得し、必要なオプションを指定してコンテナとして動かします。
イメージを取得する
イメージは docker pull で取得できます。
docker pull nginx取得済みのイメージは docker images で確認します。
docker images| 項目 | 意味 |
|---|---|
| REPOSITORY | イメージ名 |
| TAG | バージョンや用途を表すラベル |
| IMAGE ID | イメージを識別するID |
| SIZE | イメージサイズ |
コンテナを起動する
イメージからコンテナを起動するには docker run を使います。
docker run --name web -p 8080:80 nginxこのコマンドでは、nginx イメージから web という名前のコンテナを起動しています。-p 8080:80 は、ホスト側の 8080 番ポートをコンテナ側の 80 番ポートにつなぐ指定です。
| オプション | 意味 |
|---|---|
--name web | コンテナに名前を付ける |
-p 8080:80 | ホストの8080番をコンテナの80番へ転送する |
-d | バックグラウンドで起動する |
--rm | 停止時にコンテナを自動削除する |
バックグラウンドで起動するなら、次のように -d を付けます。
docker run -d --name web -p 8080:80 nginx起動中のコンテナを確認する
起動中のコンテナは docker ps で確認します。
docker ps停止済みのコンテナも含めて確認したい場合は -a を付けます。
docker ps -aDockerを学び始めたばかりのときは、「コンテナが動いていない」のか「動いているがポート指定が違う」のかを切り分けるために、まず docker ps を見る癖を付けるとよいです。
コンテナを止める・削除する
コンテナを止めるには docker stop を使います。
docker stop web停止したコンテナを削除するには docker rm を使います。
docker rm webイメージ自体を削除するには docker rmi を使います。
docker rmi nginxよくある混乱: localhost
コンテナ内で localhost と書くと、そのコンテナ自身を指します。ホストPCや別コンテナを指すわけではありません。
WebアプリとDBを別コンテナで動かす場合、アプリコンテナからDBへ localhost で接続しようとして失敗することがよくあります。Docker Composeでは、サービス名をホスト名として使うのが基本です。
ちゃんと使うためのポイント
docker pullはイメージ取得docker runはイメージからコンテナを起動docker psは起動中のコンテナ確認docker stopは停止、docker rmはコンテナ削除localhostは「どこから見た localhost か」を必ず考える