📘
Docker (Compose) で再起動ループ解消
Docker Compose を使用してコンテナを起動する際、tty: true
が設定されていない場合、コンテナが 再起動ループ に陥ることがあります。
特に以下のような compose.yml
を使用している場合に発生しやすいです。
services:
app:
image: debian:bullseye
command: bash
この設定では、tty: true
が指定されていないため、標準入力が閉じられたと認識され、コンテナが終了し、再起動を繰り返す ことがあります。
tty: true
を追加し、CMD に sleep infinity
を設定
解決方法:この問題を解消するには、tty: true
を明示的に設定し、コンテナが不要なプロセスを実行せずに待機するよう command
に sleep infinity
を指定します。
version: '3.8'
services:
app:
image: debian:bullseye
tty: true
command: ["sleep", "infinity"]
この設定により、コンテナがバックグラウンドで動作し続け、再起動ループが発生しなくなります。
設定の確認
適用後、以下のコマンドでコンテナの状態を確認してください。
docker ps
STATUS
が Up
となっていれば、正常に動作しています。
この方法を適用することで、tty: true
を指定しないことによる意図しないコンテナの動作を防ぎ、安定して管理できます。
--
Let's happy coding!
Discussion