「Dockerコンテナが動かなくなって、止められない…」
「処理が重くて、コンテナを強制的に止めたい」
そんなときに役立つのが、docker killコマンドです。
この記事では、Dockerを使い始めたばかりの方にも分かりやすく、コンテナを安全に停止する方法を説明します。
docker killコマンドってなに?

機能の説明
docker killコマンドは、動いているDockerコンテナをすぐに止めるためのコマンドです。
パソコンでソフトが固まったとき、「強制終了」をすることがありますよね。docker killも同じで、コンテナが反応しなくなったときに「強制終了」をするためのコマンドです。
docker killの特徴
- コンテナをすぐに止められる
- 固まったコンテナにも効果的
- 緊急時に使える
- 使い方を間違えると危険
こんなときに使います
コンテナが反応しなくなったとき 処理が重くて、普通の方法では止められない
すぐにコンテナを止めたいとき テストやデバッグで、手早く作業したい
エラーが起きて動かないとき プログラムにバグがあって、正常に止まらない
docker killコマンドの基本的な使い方
基本的な書き方
docker killコマンドは、次のように書きます:
docker kill コンテナ名
または
docker kill コンテナID
実際に使ってみよう
例1:コンテナ名で停止する
説明 「my_app」という名前のコンテナを停止してみましょう。
コマンド例
docker kill my_app
実行結果
my_app
解説
- 成功すると、停止したコンテナの名前が表示されます
- コンテナはすぐに停止します
例2:コンテナIDで停止する
説明 コンテナIDを使って停止することもできます。
まず、動いているコンテナを確認
docker ps
実行結果の例
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
abc123def456 nginx ... 1 hour Up 80:80 my_nginx
コンテナIDを使って停止
docker kill abc123def456
注意点
- コンテナIDは最初の数文字だけでもOK(例:
abc123
) - 重複しない範囲で短縮できます
複数のコンテナをまとめて停止
説明 複数のコンテナを一度に停止することもできます。
コマンド例
docker kill container1 container2 container3
すべてのコンテナを停止
docker kill $(docker ps -q)
解説
docker ps -q
:動いているコンテナのIDをすべて取得$()
:取得したIDをdocker killコマンドに渡す
docker stopコマンドとの違い

それぞれの特徴
コマンド | 停止方法 | 停止までの時間 | 安全性 |
---|---|---|---|
docker stop | 丁寧に停止 | 少し時間がかかる | 安全 |
docker kill | 強制的に停止 | すぐに停止 | 注意が必要 |
docker stopの動作
docker stopコマンドの流れ
- コンテナに「終了してください」と丁寧にお願い
- 10秒間待つ
- 10秒経っても止まらなければ、強制終了
コマンド例
docker stop my_app
docker killの動作
docker killコマンドの流れ
- コンテナに「すぐに止まれ!」と強制命令
- 即座に停止
コマンド例
docker kill my_app
どちらを使うべき?
通常の場合:docker stop
- データベースのデータを保存中
- ログファイルを出力中
- 重要な処理を実行中
緊急の場合:docker kill
- コンテナが固まって反応しない
- テスト環境で手早く作業したい
- エラーが起きて正常に止まらない
より詳しい使い方
シグナルを指定した停止
説明 docker killでは、停止の仕方を詳しく指定できます。
穏やかに停止(SIGTERM)
docker kill --signal=SIGTERM my_app
強制停止(SIGKILL)
docker kill --signal=SIGKILL my_app
何も指定しない場合
docker kill my_app
※ 自動的にSIGKILLが使われます
シグナルの種類と特徴
シグナル | 意味 | 動作 | 使う場面 |
---|---|---|---|
SIGTERM | 正常終了 | アプリが自分で終了処理 | 安全に止めたいとき |
SIGKILL | 強制終了 | 問答無用で停止 | 緊急時、固まったとき |
SIGINT | 割り込み | Ctrl+Cと同じ | 手動で止めるとき |
安全に使うための注意点

データの保存について
危険な例
# データベースが書き込み中なのに強制停止
docker kill database_container
安全な例
# まず丁寧に停止を試す
docker stop database_container
# それでも止まらなければ強制停止
docker kill database_container
確認してから実行
動いているコンテナを確認
docker ps
停止したいコンテナが正しいか確認
docker inspect container_name
重要なデータがないか確認
docker logs container_name
バックアップを取る習慣
データのバックアップ
# ボリュームの確認
docker volume ls
# データのバックアップ
docker cp container_name:/data ./backup/
よくある使用場面とコマンド例
開発・テスト環境での使用
Webアプリのテスト
# アプリを起動
docker run -d --name test_app my_web_app
# テスト実行
# ... テスト作業 ...
# テスト終了後、すぐに停止
docker kill test_app
# コンテナを削除
docker rm test_app
固まったコンテナの対処
手順
- まず状況を確認
docker ps
docker logs problematic_container
- 穏やかな停止を試す
docker stop problematic_container
- 30秒待っても止まらなければ強制停止
docker kill problematic_container
一括処理
開発環境のリセット
# すべてのコンテナを停止
docker kill $(docker ps -q)
# 停止したコンテナを削除
docker rm $(docker ps -aq)
# 使われていないイメージを削除
docker image prune
トラブルシューティング

コマンドが効かない場合
「No such container」エラー
Error response from daemon: No such container: my_app
原因と対策
- コンテナ名やIDが間違っている
- コンテナがすでに停止している
確認方法
# 動いているコンテナを確認
docker ps
# すべてのコンテナを確認(停止中も含む)
docker ps -a
権限エラーが出る場合
「Permission denied」エラー
Got permission denied while trying to connect to the Docker daemon socket
対策
# sudoを付けて実行
sudo docker kill my_app
# または、ユーザーをdockerグループに追加
sudo usermod -aG docker $USER
よくある質問と答え
Q. docker killとdocker stopのどちらを使えばいいですか? A. 基本的にはdocker stopを使い、それでも止まらない場合にdocker killを使うのがおすすめです。
Q. docker killでデータが消えることはありますか? A. コンテナ内の一時的なデータは消える可能性があります。重要なデータは事前にボリュームやバックアップで保護しましょう。
Q. 本番環境でdocker killを使っても大丈夫ですか? A. 緊急時以外は避けましょう。本番環境では慎重な停止(docker stop)を推奨します。
Q. docker killで止めたコンテナは自動で再起動しますか? A. 再起動ポリシーが設定されていれば、自動で再起動する場合があります。
まとめ:適切なコンテナ停止で安全なDocker運用
docker killコマンドは、緊急時に役立つ強力なツールです。
今日覚えたこと
- 基本構文:
docker kill コンテナ名
- 使い分け: 通常はdocker stop、緊急時にdocker kill
- 安全性: 強制停止はデータ消失のリスクあり
- 確認: 実行前にコンテナの状態をチェック
まずはdocker stopから覚えましょう。
docker killは「最後の手段」として使うのがベストです。
コメント