docker工人改变Ctrl + P的东西?

我使用docker run /bin/bash来开发我的容器,每次我想在terminal或emacs中使用Ctrl+p时,我必须input两次,因为docker使用它来从容器中分离( Ctrl+p Ctrl+q )。

我如何将Ctrl+p更改为更方便的东西,而不是在emacs中或在terminal设置中使用?

目前,这是不可configuration的。 但是,您可以在此处的代码中进行更改: https : //github.com/dotcloud/docker/blob/master/utils/utils.go#L503

当docker将有一个configuration文件,这将变得可configuration。

更新:如Brennan Cheung所述,Docker现在有一个configuration文件,您可以使用更改分离绑定

 { "detachKeys": "ctrl-e,e" } 

~/.docker/config.json

现在有一个解决scheme,所以我想在这里更新它为他人的方便。

只需添加一个~/.docker/config.json并设置你自己的~/.docker/config.json绑定。

 { "detachKeys": "ctrl-e,e" } 

现在你可以在bash和emacs中再次使用Ctrl-p 。 是啊!

这是什么对我来说(比其他答案更详细一点)

你修改dockerconfiguration文件:

 ~/.docker/config.json 

例如:

 { "auths": { "amz": { "auth": key" }, "amz2": { "auth": key2" }, "amz3": { "auth": "key3" } }, "detachKeys": "ctrl-e,e" } 

注意:detach不再是ctrl-p,ctrl-q,而是ctrl-e + e键。

所以步骤是:

  1. 更改configuration文件
  2. 从terminal分离(使用旧的/默认的键绑定)
  3. 再次附加(docker exec -it / bin / bash

随后,您指定的新的键绑定应该工作

来源: https : //github.com/mx4492/dotfiles/commit/bad340b8ddeda6078093e89acacfcba8af74a0cc