Vscode-docker: 不能使用非默认上下文

创建于 2020-06-30  ·  7评论  ·  资料来源: microsoft/vscode-docker

问题类型:错误

我的上下文可以从命令行使用 docker context 正常工作,但无法使用 ssh 或 tcp 连接在 docker extionsion 中加载任何信息(两者都可以从命令行正常工作)。 TCP 我得到 EPROTO SSLV3_ALERT_BAD_CERTIFICATE。 没有任何意义,因为这在命令行上运行良好。

扩展版本:1.3.1
VS 代码版本:代码 1.46.1 (cd9ea6488829f560dc949a8b2fb789f3cdc05f5d, 2020-06-17T21:17:14.222Z)
操作系统版本:达尔文 x64 19.5.0


系统信息

|项目|价值|
|---|---|
|CPUs|Intel(R) Core(TM) i9-9980HK CPU @ 2.40GHz (16 x 2400)|
|GPU 状态|2d_canvas:已启用
flash_3d:启用
flash_stage3d:启用
flash_stage3d_baseline:启用
gpu_compositing:启用
金属:disabled_off
multiple_raster_threads: enabled_on
oop_rasterization: disabled_off
protected_video_decode:不可用_off
光栅化:启用
skia_renderer: disabled_off_ok
video_decode:启用
viz_display_compositor: enabled_on
viz_hit_test_surface_layer: disabled_off_ok
webgl:启用
webgl2:启用|
|负载(平均)|3, 3, 3|
|内存(系统)|32.00GB(1.07GB 免费)|
|进程参数||
|屏幕阅读器|否|
|虚拟机|0%|

duplicate

所有7条评论

我可以使用 vscode 连接到远程 docker 环境的唯一方法是使用 eval $(docker-machine env envname) 然后使用 code -n 从命令行启动 vscode。 所以,基本上它只是使用 DOCKER_HOST 配置。 我使用来自 docker-machine 环境变量的相同 ca、key、c​​ert 设置上下文。

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

出于性能原因,该扩展不会将 CLI 用于树视图中的任何内容。 对于 TCP 连接,您需要使用docker.host / DOCKER_HOST + docker.certPath / DOCKER_CERT_PATH设置。 我们没有为 TCP + 证书连接实现基于docker context的支持,因为将docker context中的信息映射到 Dockerode 接受的选项非常困难。

只要您设置了代理身份验证,SSH 就应该可以工作,这在此处记录。

好的,我切换回 ssh 主机来创建 docker 上下文。 然后在我没有任何参数运行 ssh-add 以使用 ~/.ssh/id_rsa 中的设置后,它按预期工作。 谢谢!

很高兴它与 SSH 一起工作! 关于docker context缺乏 TCP + Cert 支持,我们在此处进行了跟踪:#2058

我想我们可以解决这个问题。

很高兴它与 SSH 一起工作! 关于docker context缺乏 TCP + Cert 支持,我们在此处进行了跟踪:#2058

我想我们可以解决这个问题。

好吧,为了它的价值...

如果我运行 eval $(docker-machine env myEnvName) 然后使用code -n启动 vscode 以使用它使用 TCP 配置的环境变量。 作为奖励,它不会对 docker 上下文使用等设置进行任何全局更改。

谢谢

是的,我希望如此。 我们应用设置的方式基本上是这样的——

  1. 尝试docker.dockerodeOptions ,如果不存在...
  2. 尝试docker.host加上其他环境变量设置,如果不存在的话......
  3. 尝试DOCKER_HOST加上其他环境变量,如果不存在的话......
  4. 试试docker context (这_应该_总是有效的,但如果它不...)
  5. 放弃并实例化不带参数的 Dockerode
此页面是否有帮助?
0 / 5 - 0 等级