章: 第1章: Docker基礎と環境理解
「ビルドしたのに動かない」はどこで起きているのか?
Dockerを使い始めた多くの人が経験するのが「ビルドは成功したのにコンテナが起動しない」「停止したはずのコンテナがまだ残っている」というトラブルです。これらの多くは、ビルド・起動・停止という3つの操作の関係が曖昧なことで起きます。
この記事では、イメージのビルドからコンテナの実行・確認までを、実際のコマンドと合わせて整理します。
ビルドと実行を繰り返す作業を効率化する
開発中はDockerfileを修正するたびにビルドして動作確認します。このサイクルが遅いと開発体験が大きく損なわれます。また、タグを適切に管理しないと「どのイメージが最新か」がわからなくなります。Dockerの基本操作を体に染み込ませることで、こうした問題を素早く解決できるようになります。
よく使うコマンドの比較
| コマンド | 動作 | よくある使い方 |
docker build -t name:tag . |
Dockerfileからイメージを作成 | :dev タグで開発用を区別 |
docker run --rm -it image |
コンテナを起動(終了時に削除) | 動作確認・デバッグ |
docker run -d image |
バックグラウンドで起動 | 長期稼働サービス |
docker ps |
実行中コンテナを確認 | 状態確認 |
docker ps -a |
停止中も含めて確認 | コンテナが残っていないか確認 |
docker stop id |
コンテナを停止 | 正常終了 |
docker rm id |
コンテナを削除 | クリーンアップ |
チェックポイント:
--rmオプションをつけると、コンテナ停止時に自動で削除されます。使い捨て確認用のコンテナには--rmをつけておくとゴミが溜まりません。
実際のコマンドで確認する
# イメージ作成
docker build -t blog-php:dev .
# コンテナ起動
docker run --rm -it blog-php:dev
# 実行中コンテナ確認
docker ps
まず docker build でイメージを作り、docker run で起動してみましょう。docker ps で「STATUS」が Up になっていれば正常です。
まとめ & 次のステップ
docker buildでイメージ作成、docker runでコンテナ起動が基本の流れ- タグ(
name:tag)を使ってイメージを管理すると混乱が減る --rmオプションで使い捨てコンテナを自動削除する習慣をつけるdocker ps -aで停止済みコンテナも確認できる
次回は「ボリュームと永続化」を学びます。コンテナを削除してもデータを失わないための仕組みを理解します。