在Docker容器控制台中获取先前的命令

24

在 Windows 机器上安装了 Docker-toolbox。我进入容器,例如:docker exec -it web /bin/sh,我可以在其中输入命令。

如何访问容器内已输入命令的历史记录?在所有控制台中,使用 向上箭头键 可以实现这一点,在此处按下该键会出现 ^[[A

如何查看历史记录或至少调用上一个命令?


8
如果您有更强大的shell,可以使用它;某些容器(但不是全部)将具有/bin/bash - David Maze
谢谢。bin/bash - 解决方案 - sveta600
@sveta600 你最终使用了哪个Shell来解决这个问题? - Jay
2个回答

18

正如 @DavidMaze 指出的那样,位于 /bin/sh 的常规 shell 不像位于 /bin/bash(简单地说)具有历史记录功能。

相关主题可以在这里这里找到,关于两者之间差异的更详细解释可在这里找到。

用法:

当启动全新容器时:

docker run -it <imagename:tag> /bin/bash
docker run -it --entrypoint /bin/bash imagename:tag

连接到现有容器时:

docker exec -it <containerid or containername> /bin/bash

12
更简单的方法是输入命令“ bash”,然后您将进入具有先前命令历史记录的bash。

你让我的一天都变得美好了!这个解决方案简单易行,效果非常好!我要向你致以无尽的感谢! - Exis

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接