Vscode-docker: não pode usar contextos não padrão

Criado em 30 jun. 2020  ·  7Comentários  ·  Fonte: microsoft/vscode-docker

Tipo de problema: bug

Eu tenho contextos que funcionam bem na linha de comando com o uso do contexto do docker, mas não consigo carregar nenhuma informação na extensão do docker com conexão ssh ou tcp (ambos funcionam bem na linha de comando). TCP recebo EPROTO SSLV3_ALERT_BAD_CERTIFICATE. Não faz sentido porque isso funciona bem na linha de comando.

Versão da extensão: 1.3.1
Versão do VS Code: Código 1.46.1 (cd9ea6488829f560dc949a8b2fb789f3cdc05f5d, 2020-06-17T21:17:14.222Z)
Versão do SO: Darwin x64 19.5.0


Informação do sistema

|Item|Valor|
|---|---|
|CPUs|Intel(R) Core(TM) i9-9980HK CPU @ 2,40GHz (16 x 2400)|
|Status da GPU|2d_canvas: ativado
flash_3d: ativado
flash_stage3d: ativado
flash_stage3d_baseline: ativado
gpu_compositing: habilitado
metal: disabled_off
multiple_raster_threads: enabled_on
oop_rasterization: disabled_off
protected_video_decode: unavailable_off
rasterização: ativado
skia_renderer: disabled_off_ok
video_decode: ativado
viz_display_compositor: enabled_on
viz_hit_test_surface_layer: disabled_off_ok
webgl: ativado
webgl2: habilitado|
|Carregar (média)|3, 3, 3|
|Memória (Sistema)|32,00 GB (1,07 GB livre)|
|Processo Argv||
|Leitor de tela|não|
|VM|0%|

duplicate

Todos 7 comentários

A única maneira de me conectar ao meu ambiente docker remoto com vscode é usando eval $(docker-machine env envname) e iniciando o vscode a partir da linha de comando com code -n. Então, basicamente, está apenas usando a configuração DOCKER_HOST. Eu configurei o contexto com o mesmo ca,key,cert das variáveis ​​de ambiente docker-machine.

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

A extensão não usa a CLI para nada na visualização em árvore, por motivos de desempenho. Para conexões TCP, você precisará usar as configurações docker.host / DOCKER_HOST + docker.certPath / DOCKER_CERT_PATH . Não implementamos suporte baseado em docker context para conexões TCP + cert, pois é extremamente difícil mapear as informações de docker context para as opções aceitas pelo Dockerode.

O SSH deve funcionar desde que você tenha a autenticação do agente configurada, isso está documentado aqui .

Ok, voltei para o host ssh para criar o contexto do docker. Então, depois de executar o ssh-add sem nenhum parâmetro para usar as configurações em ~/.ssh/id_rsa, ele funciona conforme o esperado. Obrigado!

Ainda bem que está funcionando com SSH! Em relação à falta de suporte TCP + Cert com docker context , temos isso rastreado aqui: #2058

Acho que podemos resolver este como uma duplicata daquele.

Ainda bem que está funcionando com SSH! Em relação à falta de suporte TCP + Cert com docker context , temos isso rastreado aqui: #2058

Acho que podemos resolver este como uma duplicata daquele.

Bom, vale o que vale...

Se eu executar eval $(docker-machine env myEnvName), inicie o vscode com o código -n para usar as variáveis ​​de ambiente que está usando a configuração TCP. E como um bônus, ele não faz nenhuma alteração global nas configurações, como o uso do contexto do docker parece fazer.

Obrigado

Sim, eu esperaria isso. A maneira como aplicamos as configurações é basicamente isso--

  1. Tente docker.dockerodeOptions , se isso não existir ...
  2. Tente docker.host mais as outras configurações de variável de ambiente, se isso não existir ...
  3. Tente DOCKER_HOST mais as outras variáveis ​​de ambiente, se isso não existir...
  4. Tente docker context (isso _deve_ sempre funcionar, mas se não funcionar...)
  5. Desista e instancie o Dockerode sem argumentos
Esta página foi útil?
0 / 5 - 0 avaliações

Questões relacionadas

tecandrew picture tecandrew  ·  6Comentários

yusufkaratoprak picture yusufkaratoprak  ·  4Comentários

gngchrs picture gngchrs  ·  3Comentários

afaddoul picture afaddoul  ·  7Comentários

dwbelliston picture dwbelliston  ·  4Comentários