Docker меняет Ctrl + p на другое?
Я использую docker run /bin/bash
для разработки моего контейнера, и каждый раз, когда я хочу использовать Ctrl+p
в терминале или в emacs, я должен вводить его дважды, поскольку докер использует его для отсоединения от контейнера (Ctrl+p
Ctrl+q
).
Как я могу изменить Ctrl+p
на что-то более удобное, которое не используется в emacs или в терминальной настройке?
Ответы
Ответ 1
В настоящее время это не настраивается. Однако вы можете изменить его в коде здесь: https://github.com/dotcloud/docker/blob/master/utils/utils.go#L503
Когда у докера будет файл конфигурации, он станет настраиваемым.
Обновление: как упоминалось в Brennan Cheung и в комментариях, Docker теперь имеет файл конфигурации, и вы можете изменить привязку отсоединения, используя
{
"detachKeys": "ctrl-e,e"
}
в ~/.docker/config.json
.
Ответ 2
Теперь есть решение для этого, поэтому я бы обновил его здесь для удобства других пользователей.
Просто добавьте ~/.docker/config.json
и установите собственный привязку клавиш.
{
"detachKeys": "ctrl-e,e"
}
Теперь вы можете использовать Ctrl-p
в bash и emacs снова. Да!
Ответ 3
Вот что сработало для меня (немного более подробно, чем другие ответы)
Вы изменяете конфигурационный файл докеры:
~/.docker/config.json
Например:
{
"auths": {
"amz": {
"auth": key"
},
"amz2": {
"auth": key2"
},
"amz3": {
"auth": "key3" }
},
"detachKeys": "ctrl-e,e"
}
ПРИМЕЧАНИЕ: отсоединение уже не ctrl-p, ctrl-q, а клавиша ctrl-e + e.
Итак, шаги:
- Измените конфигурационный файл
- Отсоедините от терминала (используя старые/стандартные привязки клавиш)
- Прикрепите снова (docker exec -it/bin/bash
Впоследствии новые ключевые слова, которые вы указали, должны работать
Источник:
https://github.com/mx4492/dotfiles/commit/bad340b8ddeda6078093e89acacfcba8af74a0cc