VSCodeからリモートDockerコンテナーに接続するための依存関係と手順は何ですか?だから私は自分のコンテナー環境でツールを使用してコードを適切にコンパイルして実行できますか?
私はあまり運が悪いので、ここの指示に従ってみました:
私のセットアップは:
Host
with VSCode、Dockerがインストールされていない、SSHクライアントがインストールされている、SSHキーが配置されているServer
VSCode、dockerがインストールされ、sshクライアントとサーバーがインストールされているDocker container
はすでにServer
で実行されていますHost
はRemote Development Version: 0.17.0
拡張を使用してVSCodeを介してServer
に接続でき、Remote - SSH Version: 0.47.2
拡張を介して接続できますバージョン:0.47.2
Server
は、Docker container
拡張を介してRemote Development Version: 0.17.0
拡張を使用し、VSCodeを介してRemote - Containers Version: 0.83.1
に接続できます。
Host
を実行中のDocker container
に接続するにはどうすればよいですか?
UPDATE 1少額
この行を~/.config/Code/User/settings.json
ファイルに追加しました。オプションはメッセージunknown configuration setting
で強調表示されます
{
...
"docker.Host":"tcp://localhost:23750",
...
}
別の端末でこれを開始しました:
ssh -N -L localhost:23750:/var/run/docker.sock <user>@<serveraddr>
そして今Remote Explorer
> Containers
> Other Containers
で実行中のコンテナを確認できます。ただし、接続しようとすると、次のエラーメッセージが表示されます。
Setting up container with bc1700db049858ba20f1c830bbeff6d6a4e04de58a2b35a61df1016788bc07db
Docker returned an error code 127, signal null, message: Command failed: docker system info
/bin/sh: docker: command not found
したがって、最後に言及したエラーを防ぐために、docker mustがHost
マシンにインストールされているようです。
注:DockerサービスしないHost
(systemctl disable docker
)で実行する必要がある
これを念頭に置いて、これらはステップです。
Host
:
~/.config/Code/User/settings.json
を編集して"docker.Host":"tcp://localhost:23750",
Server
のsshキーを設定しますssh -N -L localhost:23750:/var/run/docker.sock <user>@<serveraddr>
)Remote Development
拡張機能をインストールします。 VSCodeを再起動しますRemote Explorer
> Containers
>その他のコンテナーに表示されます。Server
: