Vscode-docker: нельзя использовать контексты не по умолчанию

Созданный на 30 июн. 2020  ·  7Комментарии  ·  Источник: microsoft/vscode-docker

Тип проблемы: ошибка

У меня есть контексты, которые отлично работают из командной строки с использованием контекста докера, но не могут загрузить какую-либо информацию в расширении докера с подключением ssh или tcp (оба отлично работают из командной строки). TCP Я получаю EPROTO SSLV3_ALERT_BAD_CERTIFICATE. Не имеет никакого смысла, потому что это отлично работает в командной строке.

Версия расширения: 1.3.1
Версия кода VS: код 1.46.1 (cd9ea6488829f560dc949a8b2fb789f3cdc05f5d, 2020-06-17T21:17:14.222Z)
Версия ОС: Darwin x64 19.5.0


Системная информация

|Элемент|Значение|
|---|---|
|ЦП|ЦП Intel(R) Core(TM) i9-9980HK @ 2,40 ГГц (16 x 2400)|
|Статус графического процессора|2d_canvas: включен
flash_3d: включен
flash_stage3d: включен
flash_stage3d_baseline: включено
gpu_compositing: включен
металл: disabled_off
multi_raster_threads: enabled_on
oop_rasterization: disabled_off
protected_video_decode: недоступен_офф
растеризация: включена
skia_renderer: disabled_off_ok
video_decode: включено
viz_display_compositor: enabled_on
viz_hit_test_surface_layer: disabled_off_ok
вебгл: включен
webgl2: включено|
|Нагрузка (средняя)|3, 3, 3|
|Память (системная)|32,00 ГБ (свободно 1,07 ГБ)|
|Обработать аргумент||
|Программа чтения с экрана|нет|
|ВМ|0%|

duplicate

Все 7 Комментарий

Единственный способ подключиться к моей удаленной среде докеров с помощью vscode — это использовать eval $(docker-machine env envname), а затем запустить vscode из командной строки с кодом -n. Итак, в основном это просто использование конфигурации DOCKER_HOST. Я устанавливаю контекст с тем же ca, key, cert из переменных среды docker-machine.

Screen Shot 2020-06-30 at 12 25 05 PM

Расширение не использует интерфейс командной строки ни для чего в древовидном представлении по соображениям производительности. Для соединений TCP вам необходимо использовать настройки docker.host / DOCKER_HOST + docker.certPath / DOCKER_CERT_PATH . Мы не реализовали поддержку соединений TCP + cert на основе docker context , поскольку очень сложно сопоставить информацию из docker context с вариантами, принятыми Dockerode.

SSH должен работать до тех пор, пока у вас настроена аутентификация агента, это задокументировано здесь .

Хорошо, я снова переключился на ssh-хост для создания контекста докера. Затем, после того как я запустил ssh-add без каких-либо параметров, чтобы использовать настройки в ~/.ssh/id_rsa, он работает, как и ожидалось. Спасибо!

Рад, что он работает с SSH! Что касается отсутствия поддержки TCP + Cert с docker context , мы отследили это здесь: #2058

Думаю, мы можем разрешить это как дубликат того.

Рад, что он работает с SSH! Что касается отсутствия поддержки TCP + Cert с docker context , мы отследили это здесь: #2058

Думаю, мы можем разрешить это как дубликат того.

Ладно, чего это стоит...

Если я запускаю eval $(docker-machine env myEnvName), то запускаю vscode с кодом -n , чтобы использовать переменные среды, которые он использует в конфигурации TCP. И в качестве бонуса он не вносит никаких глобальных изменений в настройки, как кажется при использовании контекста докера.

Спасибо

Да, я ожидал этого. То, как мы применяем настройки, в основном таково:

  1. Попробуйте docker.dockerodeOptions , если этого не существует...
  2. Попробуйте docker.host плюс другие настройки переменных среды, если они не существуют...
  3. Попробуйте DOCKER_HOST плюс другие переменные среды, если они не существуют...
  4. Попробуйте docker context (это _должно_ работать всегда, но если нет...)
  5. Откажитесь и создайте экземпляр Dockerode без аргументов
Была ли эта страница полезной?
0 / 5 - 0 рейтинги