概要

こんにちは、Webエンジニアの石山です!
今回はWebアプリ開発では必須と言っても過言ではないDockerのよく使うコマンドをまとめました。
ぜひ忘れた時などにご参照ください!

基本操作系(ビルド・起動・停止など)

Dockerイメージのビルド

Dockerfileを元にDockerイメージをビルド
docker-compose build
# キャッシュを使わずにビルド
docker-compose build --no-cache

Dockerコンテナの起動

Dockerコンテナの起動(docker-compose.ymlがあるディレクトリで実行)
docker-compose up
# バックグラウンドで実行したい時
docker-compose up -d

Dockerコンテナの削除

Dockerコンテナの削除(docker-compose.ymlがあるディレクトリで実行)
docker-compose down

操作系

Dockerコンテナに接続

Dockerコンテナに接続する(docker-composeの場合、docker-compose.ymlがあるディレクトリで実行)
docker exec -it [コンテナ名またはコンテナID] bash
# docker-composeの場合
docker-compose exec [コンテナ名] bash

Dockerコンテナでコマンド実行

起動中のコンテナでコマンドを実行する(docker-compose.ymlがあるディレクトリで実行)
docker-compose exec [コンテナ名] [コマンド]

確認系

起動コンテナの確認

Dockerコンテナを確認する
docker ps
# 停止中も含めて、すべてのコンテナを確認
docker ps -a

Dockerイメージの確認

Dockerイメージの一覧を表示・確認
docker images -a

ログ系

コンテナのログ表示

特定のコンテナのログを確認(docker-compose.ymlがあるディレクトリで実行)
docker-compose logs [コンテナ名]

ログのリアルタイム表示

サーバに出力されたログをリアルタイム表示(docker-compose.ymlがあるディレクトリで実行)
docker-compose logs -ft

掃除系

コンテナの全停止

起動中のコンテナを全停止する
docker stop $(docker ps -aq)

コンテナの全削除

起動・停止中の全てのコンテナを削除する
docker rm $(docker ps -aq)

イメージの全削除

Dockerイメージを削除する
docker rmi $(docker images -q)

全てを削除

コンテナ・イメージを含む全てを削除(警告と確認が出るので「y」と入力)
docker system prune

利用していないコンテナの削除

利用していないコンテナを削除する
docker container prune

利用していないイメージの削除

利用していないイメージを削除する
docker image prune