開発現場では、ローカル環境の構築やアプリケーションの実行環境として Docker を使うケースが非常に増えています。
Dockerを使えるようになると、
- 環境構築の標準化
- ローカル開発の効率化
- コンテナ内ログ調査
- アプリケーション再起動
- 障害調査
などがスムーズに行えます。
今回は、実務でよく使うDockerコマンド + よくあるエラーと対処法 を用途別にまとめて紹介します。
1. 起動中コンテナ確認 docker ps
まず最初に最もよく使うコマンドです。
docker ps
現在起動中のコンテナ一覧を確認できます。
よく使うオプション
docker ps -a
停止中も含めた全コンテナ表示
docker ps --format "table {{.Names}}\t{{.Status}}\t{{.Ports}}"
見やすい表形式で表示
実務ポイント
「コンテナが起動しているか」の確認で毎日使うレベルです。
2. コンテナ起動 docker start
停止しているコンテナを起動します。
docker start コンテナ名
例
docker start my-app
3. コンテナ停止 docker stop
docker stop コンテナ名
実務ポイント
アプリ再起動や設定反映時に頻出です。
4. コンテナ再起動 docker restart
docker restart コンテナ名
実務ポイント
stop → start をまとめて実行できます。
障害調査時にもよく使います。
5. ログ確認 docker logs
かなり使用頻度が高いです。
docker logs コンテナ名
よく使うオプション
docker logs -f コンテナ名
リアルタイムログ確認
docker logs --tail 100 コンテナ名
最新100行だけ表示
実務ポイント
障害調査時はほぼ必須です。
docker logs -f --tail 100 my-app
この組み合わせはかなり使います。
6. コンテナ内に入る docker exec
コンテナ内部へ入って調査します。
docker exec -it コンテナ名 bash
よく使う例
docker exec -it my-app sh
Alpine系では sh が多いです。
実務ポイント
設定ファイル確認やログ調査で頻出です。
7. イメージ確認 docker images
docker images
ローカルに存在するDockerイメージ一覧を確認できます。
8. イメージ削除 docker rmi
docker rmi イメージID
実務ポイント
不要イメージ削除で容量整理に使います。
9. コンテナ削除 docker rm
docker rm コンテナ名
よく使うオプション
docker rm -f コンテナ名
強制削除
10. イメージ作成 docker build
docker build -t my-app .
実務ポイント
Dockerfile修正後は頻出です。
11. Compose起動 docker compose up
実務ではかなりよく使います。
docker compose up
よく使うオプション
docker compose up -d
バックグラウンド起動(超頻出)
docker compose up --build
再ビルドして起動
12. Compose停止 docker compose down
docker compose down
実務ポイント
ローカル環境終了時に使います。
Dockerでよくあるエラーと対処法まとめ
Dockerを使っていると、コマンド操作だけでなく、起動時やビルド時にエラーへ遭遇することも多いです。
1. port is already allocated
Bind for 0.0.0.0:3000 failed: port is already allocated
原因
指定したポートがすでに他のアプリケーションやコンテナで使用されています。
対処法
docker ps
lsof -i :3000
docker stop コンテナ名
2. container name is already in use
Conflict. The container name is already in use
原因
同じ名前のコンテナがすでに存在しています。
対処法
docker ps -a
docker rm コンテナ名
3. no space left on device
no space left on device
原因
Dockerイメージや停止コンテナが溜まりすぎてディスク容量不足です。
対処法
docker system prune
さらに不要イメージも削除する場合
docker system prune -a
4. Cannot connect to the Docker daemon
Cannot connect to the Docker daemon
原因
Docker Engineが起動していません。
対処法
sudo systemctl start docker
sudo systemctl status docker
5. コンテナがすぐ停止する
docker ps -a で Exited になっているケースです。
対処法
まずログ確認を行います。
docker logs コンテナ名
実務でよく使う流れ
docker compose up -d
docker ps
docker logs -f my-app
docker exec -it my-app bash
障害調査時
docker ps -a
docker logs my-app
docker restart my-app
まとめ
実務で特によく使うのは以下です。
docker psdocker logs -fdocker exec -itdocker compose up -ddocker compose down
加えて、よくあるエラーの対処法まで覚えておくと、現場でかなり役立ちます。