VSCode remote explorer не показывает удаленные контейнеры

#macos #docker #visual-studio-code #ssh #containers

#macos #docker #visual-studio-code #ssh #контейнеры

Вопрос:

Я следовал инструкциям здесь,

https://code.visualstudio.com/docs/remote/containers-advanced#_developing-inside-a-container-on-a-remote-docker-host

Я добавил

"docker.host":"ssh://your-remote-user@your-remote-machine-fqdn-or-ip-here"

в моих настройках, но контейнер не отображается в разделе контейнеров моего удаленного проводника. Я полагаю, что я должен использовать remote-ssh в vscode для входа на сервер, который содержит удаленный сервер, поскольку vscode не может читать данные на сервере, пока я не войду в систему. Но после подключения контейнер по-прежнему не отображается в разделе контейнеров моего удаленного проводника.

Затем я попытался подключиться с помощью remote-containers: attach to running container команды, но команда недоступна после подключения к серверу. Что также примечательно, так это то, что

"docker.host":"ssh://your-remote-user@your-remote-machine-fqdn-or-ip-here"

в моих настройках затемнено. Когда я навожу на него курсор мыши, он говорит

Этот параметр не может быть применен в этом окне. Он будет применен при открытии локального окна.

Интересно, означает ли это, что после подключения к серверу мне не следует использовать удаленные контейнеры, потому что удаленный сервер в основном рассматривается как мой локальный сервер после входа в систему.

В моем подключенном окне VSCode, если я перейду на вкладку расширения docker, там будут все удаленные контейнеры.

Итак, теперь я пытаюсь выяснить, как подключиться к моему удаленному контейнеру из неподключенного vsscode. Я подозреваю, что мне нужно использовать свой закрытый ключ где-то вроде того, как в remote-ssh есть файл конфигурации для ключа, но я не вижу этого в инструкциях.

Если это делает по-другому, я использую macOS

Ответ №1:

Я могу подключаться к удаленным контейнерам runinng. Но я мог бы воспроизвести вашу проблему, заменив раздел в settings JSON docker.host на что-то, что явно не должно работать: например, буквально вводить "docker.host":"ssh://your-remote-user@your-remote-machine-fqdn-or-ip-here" или использовать неправильный логин и т. Д.

Теперь я больше не могу подключиться к запущенным контейнерам, и удаленный проводник их не показывает. Это соответствует вашему наблюдению.

После подключения к удаленному хосту, нажав на строку состояния в левом нижнем углу, я попытался отредактировать настройки JSON. Здесь поле для docker.host также выделено серым цветом.

Это говорит о том, что одним из возможных объяснений вашей проблемы является то, что вы указали неверное значение для docker.host поля. Чтобы убедиться, что это действительно неверно, попробуйте подключиться по ssh к хост-компьютеру с терминала, используя именно тот логин, который вы использовали в качестве значения здесь. Если вы заставите это работать, я бы ожидал, что ваша проблема будет решена. (В этом контексте вам может оказаться полезным где-нибудь поискать SSH-соединения без пароля.) Удачи!