在git-bash上运行交互式Docker时出错(前缀为winpty并没有帮助)

时间:2018-04-02 18:22:24

标签: docker git-bash

我是Docker的新手。

我有一个简单的DockerFile:

FROM ubuntu:12.04

CMD echo "Test"

我使用docker build命令(docker build -t dt_test。)构建了映像。 我想要做的就是在Git bash上以交互方式运行docker镜像。 git中的路径已设置为包含docker工具箱。

当我运行交互式docker run命令时:" docker run -it dt_test" 它给了我一个错误:

the input device is not a TTY. If you are using mintty, try prefixing the command with 'winpty'

所以我尝试使用winpty为run命令添加前缀,然后执行命令但不向我显示交互式shell。当我输入内容时,我无法看到我在终端中输入的任何命令。然后我必须键入" reset"然后它将终端设置恢复正​​常。所以我猜winpty命令不能正常工作

问题:

  1. " winpty docker run -it dt_test"是否有问题?命令以及为什么它不起作用?
  2. 如何修复此问题以使我的文件以交互方式运行?
  3. 仅供参考:当我以非交互方式运行docker文件时,它似乎工作正常。节目"测试"根据Dockerfile在终端中。

1 个答案:

答案 0 :(得分:1)

看起来与the input device is not a TTY相同。

尝试不使用-t

docker run -i dt_test

使用不同的入口点(如bash)运行它:

docker run -i --entrypoint bash dt_test