Докер «протокол недоступен» после изменения контекста

#docker

Вопрос:

Я изменил контекст своего докера. Теперь, когда я запускаю любую команду docker, я получаю protocol not available . Как мне изменить свой контекст обратно, если я не могу выполнить какие-либо команды docker?

В основном я сделал следующее.

  1. Я побежал docker context list . Я видел 2 доступных контекста ( default , который был активен, с описанием «Текущая конфигурация на основе DOCKER_HOST»; и desktop-linux без описания и конечной точки, переданной в dockerDesktopLinuxEngine.)
  2. Я изменил контекст своего докера: docker context use desktop-linux
  3. Теперь я не могу выполнять какие-либо команды docker, в том числе изменять свой контекст обратно.

Я запускаю рабочий стол Docker в Windows с помощью серверной части WSL2 (Debian 10). Kubernetes включен, и kubectl по-прежнему функционирует должным образом.

Как исправить установку docker, чтобы я мог снова запускать команды?

Я пытался:

  • перезапуск WSL
  • перезапуск рабочего стола Docker
  • «сброс настроек» рабочего стола Docker

Ответ №1:

В файле ~/.docker/config.json будет "currentContext": "some-name" строка. Вы можете удалить эту строку, чтобы вернуться к контексту по умолчанию. Если это последняя строка, обязательно удалите запятую в предыдущей строке, чтобы сохранить json действительным.

Комментарии:

1. Хороший ответ для linux, но как насчет Windows? Знаете ли вы что-нибудь об этом без переустановки Docker-Desktop? Тнх