Подтвердить что ты не робот

Docker меняет Ctrl + p на другое?

Я использую docker run /bin/bash для разработки моего контейнера, и каждый раз, когда я хочу использовать Ctrl+p в терминале или в emacs, я должен вводить его дважды, поскольку докер использует его для отсоединения от контейнера (Ctrl+p Ctrl+q).

Как я могу изменить Ctrl+p на что-то более удобное, которое не используется в emacs или в терминальной настройке?

4b9b3361

Ответ 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