
Visual Studio Code をベースに開発環境をセットアップしようとしています。目標は、リモート Docker コンテナで実行される Python コードを記述してデバッグすることです。
私がやったことは次のとおりです。Visual Studio Code Insiders、Python 拡張機能、Remote Development 拡張機能 (3 つの拡張機能を 1 つにまとめたもの) をインストールし、リモート コンピューター (Linux を実行しており、私が sudo を実行) と自分のコンピューター (Windows を実行) の両方に SSH を設定しました。これで、SSH 経由でこのリモート コンピューターに接続し、Python コードを実行できるようになりました。これらの機能はすでに素晴らしいものですが、さらに必要です。
このリモート マシンでは Docker サービスが実行されており、リモート コンピューターの Python インタープリターではなく、Docker コンテナー内の Python インタープリターを使用して Python コードを実行できるようにしたいと考えています。そこで、自分のコンピューターではなくリモート コンピューター (Visual Studio Code によって提案されたもの) に Docker 拡張機能をダウンロードし、settings.json ファイルを次のように変更しました。
{
"remote.extensionKind": {
"peterjausovec.vscode-docker": "workspace"
}
}
述べられていることによるとここでは、Docker拡張機能の制限のセクション次に、左側の Docker ボタンをクリックすると、リモート コンピューターで実行されているすべてのコンテナーのリストが表示されます。これは非常に便利です。
しかし、これらのコンテナの1つにVisual Studio Codeをアタッチしようとすると、Dockerデーモンが見つかりません。Dockerデーモンのドキュメントを読んだ後、ここ-H tcp://0.0.0.0:22
、またはオプションを使用して Docker デーモンを再起動し、-H tcp://0.0.0.0:2375
デーモンがコンピューターからリモートで行われたリクエストをリッスンできるようにしました。最初の方法はまったく機能しませんでした (デーモンは起動しませんでした)。2 つ目の方法は機能します (デーモンは起動します)。ただし、まだ Visual Studio Code をコンテナーに接続できません (Visual Studio Code はまだデーモンを見つけることができません)。
ご協力いただければ幸いです。
答え1
問題は、古いバージョンの Docker を使用していたため、Docker デーモンとの SSH 通信を有効にするにはバージョン 18.09 が必要だったことです。