如何为 Docker Desktop CLI 启用箭头键?

Ste*_*fan 49 command-line-interface docker-desktop

我可以从 Docker Desktop 中为不同的 docker 容器启动命令行界面 (CLI):

在此输入图像描述

如果我在控制台窗口内按箭头键,则会显示奇怪的字符代码,例如,如果我按向上键,则不会显示最后一个命令,而是显示字符“^[[A”:

在此输入图像描述

=> 如何永久调整 shell 命令?

我尝试SHELL=/bin/bash在系统环境变量中设置来bash代替使用,sh但这没有帮助。

有关的:

Windows 中的 docker exec bash - 键盘箭头键不起作用

https://github.com/jupyter/notebook/issues/2457

Bus*_*ofa 93

我从Docker GUI运行CLI时遇到了同样的问题。解决了

  1. 从打开的CLI运行以下命令
  2. /bin/bash
  3. 然后会看到:root@630bc9d304e5:~#
  4. 现在您可以使用箭头键

我希望它会起作用。

  • 是否有可能使这种改变永久化? (6认同)

Ste*_*fan 18

为了支持箭头键,需要bash而不是sh. 但是,并非所有 docker 镜像都支持 bash。我想这就是为什么 docker 没有默认使用 bash 的配置选项。

如果 bash 是为特定容器安装的,则可以在容器内部symlink sh安装,以便默认使用。打开容器控制台并输入:bashbash

ln -sf /bin/bash /bin/sh
Run Code Online (Sandbox Code Playgroud)

关闭控制台并再次打开。现在您正在使用 bash,支持箭头键操作。

也可以将其包含在docker 镜像中。

另请参阅:

如何在 Docker Desktop 中打开选定容器的 CLI 时将默认 /bin/sh 更改为 /bin/bash?

https://phoenixnap.com/kb/symbolic-link-linux