IntelliJ IDEA Docker终端无法接受输入问题求助
问题现象
- Docker集成终端内光标正常闪烁,但无法接收任何键盘输入内容
- 鼠标粘贴操作失效:复制文本后在终端右键选择
Paste选项,无法完成粘贴
已尝试的无效排查操作
- 重启IntelliJ IDEA
- 删除对应异常镜像、容器
- 切换连接其他容器测试
- 分别使用Attach、
exec /bin/sh、Create terminal三种方式建立终端连接 - 重启个人电脑
- 尝试IntelliJ提供的所有官方修复选项
补充环境信息
- IntelliJ内除Docker终端外,其他窗口输入功能完全正常
- 在Docker Desktop中使用
Open in terminal选项打开的/bin/sh终端可正常输入 - 当前使用IDE版本为IntelliJ IDEA 2022.1.3 (Ultimate Edition)
问题根因
该问题是IntelliJ IDEA 2022.1.3版本Docker插件的已知回归bug:插件在初始化容器TTY连接时,错误锁定了终端标准输入流的缓冲区,导致后续所有键盘、粘贴输入事件无法被转发到容器侧的shell进程;光标正常闪烁仅代表终端渲染层工作正常,实际输入通道已经处于阻塞状态。
Docker Desktop自带终端、IDEA其他编辑窗口不受影响,是因为这两类场景没有走Docker插件的TTY初始化逻辑,不会触发该bug。
解决方法
按优先级从高到低选择方案:
- 永久修复:升级IntelliJ IDEA到2022.2及以上正式版本,JetBrains在2022.2版本正式合入了该TTY流阻塞问题的修复代码。如果不想升级大版本,可单独更新Docker插件:打开
Settings->Plugins->Installed,找到Docker插件点击更新,重启IDEA即可。 - 临时修复(无需升级):打开顶部菜单栏
Help->Find Action,搜索Registry打开注册表配置页,找到docker.terminal.use.tty配置项取消勾选,关闭所有现有Docker终端标签后重新连接容器即可恢复输入。注意该方案下Docker终端的部分信号快捷键(如Ctrl+C中断进程)可能存在兼容问题,仅作临时过渡使用。 - 替代方案:直接使用IDEA内置的本地终端,手动执行
docker exec -it <容器ID/容器名称> /bin/sh命令连接容器,该方式走本地终端输入通道,不会触发插件bug。
内容的提问来源于stack exchange,提问作者TmTron
相关产品推荐
相关产品推荐

