Vscode-docker: デフォルト以外のコンテキストは使用できません

作成日 2020年06月30日  ·  7コメント  ·  ソース: microsoft/vscode-docker

問題の種類:バグ

dockerコンテキストを使用してコマンドラインから正常に機能するコンテキストがありますが、sshまたはtcp接続のいずれかを使用してdocker extionsionに情報をロードできません(どちらもコマンドラインから正常に機能します)。 TCP EPROTOSSLV3_ALERT_BAD_CERTIFICATEを取得します。 これはコマンドラインで正常に機能するため、意味がありません。

拡張バージョン:1.3.1
VSコードバージョン:コード1.46.1(cd9ea6488829f560dc949a8b2fb789f3cdc05f5d、2020-06-17T21:17:14.222Z)
OSバージョン:Darwin x64 19.5.0


システム情報

|アイテム|価値|
| --- | --- |
| CPU | 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:unavailable_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空き)|
|プロセス引数||
|スクリーンリーダー|いいえ|
| VM | 0%|

duplicate

全てのコメント7件

vscodeを使用してリモートDocker環境に接続する唯一の方法は、eval $(docker-machine env envname)を使用してから、コマンドラインからコード-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設定を使用する必要があります。 docker contextからDockerodeが受け入れるオプションに情報をマッピングすることは非常に難しいため、TCP +証明書接続のdocker contextベースのサポートは実装していません。

エージェント認証が設定されている限り、SSHは機能しているはずです。これは、ここに記載されています。

OK、Dockerコンテキストを作成するためにsshホストに切り替えました。 次に、パラメーターなしでssh-addを実行して、〜/ .ssh / id_rsaの設定を使用した後、期待どおりに機能します。 ありがとう!

SSHで動作していることをうれしく思います! docker contextでのTCP + Certサポートの欠如に関して、ここで追跡しています:#2058

これを複製として解決できると思います。

SSHで動作していることをうれしく思います! docker contextでのTCP + Certサポートの欠如に関して、ここで追跡しています:#2058

これを複製として解決できると思います。

わかりました、それが価値があるもののために...

eval $(docker-machine env myEnvName)を実行すると、コード-nを指定してvscodeを起動し、TCP構成を使用している環境変数を使用します。 また、ボーナスとして、Dockerコンテキストの使用のように設定にグローバルな変更を加えることはありません。

ありがとう

はい、私はそれを期待します。 設定を適用する方法は基本的にこれです-

  1. docker.dockerodeOptionsが存在しない場合は、試してみてください...
  2. docker.hostに加えて、他の環境変数設定が存在しない場合は、それを試してください...
  3. DOCKER_HOSTに加えて、他の環境変数が存在しない場合は、それを試してください...
  4. docker context試してください(これは常に機能するはずですが、機能しない場合は...)
  5. 引数なしでDockerodeをあきらめてインスタンス化します
このページは役に立ちましたか?
0 / 5 - 0 評価