Docker Windows Client を Cygwin で動かすと tty を enable にできない件

  • 12
    いいね
  • 0
    コメント
この記事は最終更新日から1年以上が経過しています。

Docker Windows Client を Cygwin で動かすと

$ docker run -t -i ubuntu bash
time="2015-04-19T10:12:43+09:00" level=fatal msg="cannot enable tty mode on non tty input"

と怒られる。

これは、既に Github に Open Issue としてあがっていた。
"cannot enable tty mode on non tty input" in Cygwin in Windows #12469

Cygwin の問題のようだ。

msysgit の bash か cmd.exe/PowerShell を使えばこの問題は発生しない。

Git\bin\bash.exe ならちゃんとコンテナ上の bash につながりました。

bash.exe"-3.1$ docker run -t -i ubuntu bash
root@57d86023f148:/#

デタッチして、コンテナIDを確認

root@57d86023f148:/# bash.exe"-3.1$ docker ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED
STATUS                   PORTS               NAMES
57d86023f148        ubuntu:latest       "bash"              12 minutes ago
Up 12 minutes                                pensive_ptolemy
8518a008a628        ubuntu:latest       "/bin/bash"         9 hours ago
Exited (0) 9 hours ago                       thirsty_elion
bash.exe"-3.1$

"cannot enable tty mode on non tty input" in Cygwin in Windows #12469
を見る限り、"we'll probably need to add a hack to fix this behavior of Cygwin."ということで対応は検討中のようだが、しばらくは Docker Windows Clientを使うときには、Cygwin は使わない方が良いようだ。