実行中のプロジェクトコンテナが突然停止し、コンテナログを確認するとディスクスペース不足が原因でコンテナが実行できなくなっていました。
Error response from daemon: Cannot restart container docker-p: mkdir /home/dockerData/overlay2/7bef1e2fa4788ab4d5db7e2e850d7ceeed09185b55c175f20c1500d28a0cc874d: デバイスに空き容量がありません
まずはdf -hでディスク使用状況を確認します。
overlay 413G 413G 0 100% /home/dockerData/overlay2/fea24dfbbe9f7d6d8309....../merged
overlay 413G 413G 0 100% /home/dockerData/overlay2/7bef1e2fa4788ab4d5db....../merged
コンテナのストレージディレクトリ/home/dockerData/(デフォルトのストレージディレクトリは/var/lib/dockerですが、こちらは再設定したものです)が直接ディスクを使い切ってしまいました。
原因が分かれば対処は簡単です。コンテナのストレージディレクトリ/home/dockerData/に移動し、du -shコマンドを使ってoverlay2とcontainersの 2 つのディレクトリおよびその中のファイルを確認します。containersディレクトリ内のコンテナファイル98bbe7f17fa335f1b6e17......が 409G を占めていることが分かりました。
du -sh overlay2
3.7G overlay2du -sh containers/98bbe7f17fa335f1b6e17......
409G containers/98bbe7f17fa335f1b6e17......
さらにコンテナファイルを深掘りすると、原因はコンテナのログファイル98bbe7f17fa335f1b6e17......-json.logにあることが分かりました。
このログファイルを削除した後、コンテナを再起動すると、業務は正常に戻りました。
このような事態が再発しないように、Docker デーモン/etc/docker/daemon.jsonにログ記録ドライバーを設定する必要があります。具体的な内容は以下の通りです:
  "log-driver":"json-file",
  "log-opts":{"max-size" :"50m","max-file":"2"}
"log-driver":"json-file"Docker のデフォルトのログ記録ドライバー。ログ形式は JSON です。
"max-size" :"50m"ログの切り替え前の最大サイズは 50M です。
"max-file":"2"保持する最大ログファイル数は 2 です。
設定が完了したら、docker を再起動します。
sudo systemctl daemon-reload
sudo systemctl restart docker
docker のログに関する詳細な内容については、以下のリンクを参照してください。