对于我的生活,我似乎无法弄清楚为什么ctrl-p和ctrl-n不能像我们一直在使用的Docker图像那样工作.
ctrl-p应该像向上箭头一样工作,但我通常必须按两次才能得到我运行的最后一个命令.它以似乎是随机的方式循环历史.
也许有人可以帮助我理解这一点.
docker run -it buildpack-deps:trusty # run a Linux based image
root@74cbcf321fae:/# ls
bin boot dev etc home lib lib64 ...
root@74cbcf321fae:/# touch hello
如果我按这里,它应该显示触摸命令,然后是ls.
但是,如果按Ctrl-p,则第一次没有任何内容出现.当我再次按它时,我会神奇地出现.
有人可以帮助我理解这些.没有Ctrl-p和Ctrl-n我就活不下去.
看起来这已经在文档中删除(或移动),但它曾经住在这里:https://docs.docker.com/engine/reference/commandline/attach/
原文链接:https://www.f2er.com/docker/437032.html编辑:看起来他们在Configuration Files文档中引用了下面的内容.
从docker容器中分离的命令序列是ctrl-p ctrl-q,这就是ctrl-p无法按预期工作的原因.当你点击ctrl-p时,docker正在等待ctrl-q,所以没有任何反应.
您可以使用新的–detach-keys参数进行docker run以覆盖此序列,使其不是ctrl-p:
docker run -ti --detach-keys="ctrl-@" ubuntu:14.04 bash
$# ls
$# <--- Ctrl-P here will display ls now
$# <--- Ctrl-@ here will detach from the running container
如果需要,可以将其添加到〜/ .docker / config.json文件中以保留此更改:
{
...
"detachKeys": "ctrl-@",...
}
关于这方面的更多细节可以在这里找到:https://github.com/docker/docker/pull/15666,因为我在文档中找不到它了.