Copy & Paste Engineer

【Docker】tty:true にしても落ちてしまう時の対処

【Docker】tty:true にしても落ちてしまう時の対処

Docker で tty: true にしても落ちてしまう時の対処メモ

現象

下記のような docker-compose.ymltty: true にして command を設定していると起動後に exit してしまいます。

version: '3'

services:
  ubuntu:
    image: ubuntu:latest
    tty: true
    command: >
      /bin/bash -c "
        pwd
      "

対処方法

command の最後に /bin/bash を追加して bash を対話モードで動かし続けるようにします。 こうすることによって裏で bash が動いているのでコンテナが落ちないようになります。

version: '3'

services:
  ubuntu:
    image: ubuntu:latest
    tty: true
    command: >
      /bin/bash -c "
        pwd
        /bin/bash
      "

参考

docker-compose up で tty: trueを付けているのに、commandを実行するとコンテナが終わってしまう - スタック・オーバーフロー