Тип проблемы: ошибка
У меня есть контексты, которые отлично работают из командной строки с использованием контекста докера, но не могут загрузить какую-либо информацию в расширении докера с подключением 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%|
Единственный способ подключиться к моей удаленной среде докеров с помощью vscode — это использовать eval $(docker-machine env envname), а затем запустить vscode из командной строки с кодом -n. Итак, в основном это просто использование конфигурации DOCKER_HOST. Я устанавливаю контекст с тем же ca, key, cert из переменных среды docker-machine.
Расширение не использует интерфейс командной строки ни для чего в древовидном представлении по соображениям производительности. Для соединений 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. И в качестве бонуса он не вносит никаких глобальных изменений в настройки, как кажется при использовании контекста докера.
Спасибо
Да, я ожидал этого. То, как мы применяем настройки, в основном таково:
docker.dockerodeOptions
, если этого не существует...docker.host
плюс другие настройки переменных среды, если они не существуют...DOCKER_HOST
плюс другие переменные среды, если они не существуют...docker context
(это _должно_ работать всегда, но если нет...)