从Python启动docker容器混淆了terminal设置

我从一个subprocess.Popen启动一个docker容器,它工作,但是当脚本返回时,我的shell的terminal设置是混乱的。 没有任何回音。 我可以在terminal上用tset修复这个问题,但是我不想要求这个。 有没有人在这里与docker工作,并已经看到并解决了这个问题?

以下是我如何启动容器:

  cmd = ['sudo', 'docker', 'run', '-t', '-i', 'elucidbio/capdata:v2', 'bash' ] p = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.STDOUT) 

我已经尝试用无限循环replacebash,并使用nohup ,但同样的事情发生了。

我通过删除-t和传入stdin = None来解决这个问题。 JF Sebastian在评论中提出这个build议,他不想把它作为答案发布,所以我是。