当前位置:  开发笔记 > 编程语言 > 正文

Ctrl-p和Ctrl-n在Docker下意外运行

如何解决《Ctrl-p和Ctrl-n在Docker下意外运行》经验,为你挑选了1个好方法。

对于我的生活,我似乎无法弄清楚为什么ctrl- p并且ctrl- n不要像我们一直在使用的Docker图像那样工作. ctrl- p应该像up箭头一样工作,但我通常必须按两次才能得到我跑的最后一个命令.它以似乎是随机的方式在历史中循环.

也许有人可以帮助我理解这一点.

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

如果我按up这里,它应该显示touch命令,然后按ls.如果我按Ctrl- p但是,第一次没有任何事情发生.当我再次按它时,ls神奇地出现.

有人可以帮我理解这些.我不能没有Ctrl- p而且Ctrl- n.



1> Chris McKinn..:

看起来这已经在文档中删除(或移动),但它曾经住在这里:https://docs.docker.com/engine/reference/commandline/attach/

编辑:看起来他们在配置文件文档中引用了下面的内容.

从docker容器中分离的命令序列是ctrl- p ctrl- q,这就是为什么ctrl- p不能按预期工作.当你点击ctrl- p,码头工人正在等待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,因为我在文档中找不到它.

推荐阅读
手机用户2402852307
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有