Closed12
vscodeのdevcontainerをリモートサーバで実行する(win10)
これのwindows10版をやります
win10マシンはインターネットに出れます。
環境
windows10 Pro 22H2
構成図
vscodeが入っていないのでインストールから
なんとなくzip版をダウンロードヨシ
拡張機能にはこれと
これをいれる
入れたら日本語反映のためにrestart
あとは鍵認証のSSHができればOKです。
鍵ファイルには最終行に改行が必要なため、コピペする場合は気をつけてください。(転送すればOK)
devcontainer立ち上げまで来たが、以下のエラーが出てコンテナ操作不能
Host server: Error: spawn docker-compose ENOENT
at Process.ChildProcess._handle.onexit (node:internal/child_process:283:19)
at onErrorNT (node:internal/child_process:478:16)
at processTicksAndRejections (node:internal/process/task_queues:83:21)
[4892 ms] Host server: (node:8756) PromiseRejectionHandledWarning: Promise rejection was handled asynchronously (rejection id: 1)
(Use `node --trace-warnings ...` to show where the warning was created)
切り分け1
プラグインではなく、スタンドアロン版docker-composeを入れる
バージョンは2.14.2
Host server: Error: spawn docker-compose ENOENT
手順
sudo curl -SL https://github.com/docker/compose/releases/download/v2.14.2/docker-compose-linux-x86_64 -o /usr/local/bin/docker-compose
sudo chmod 755 /usr/local/bin/docker-compose
結果
エラーはなくなったが、相変わらず新規ターミナルが出せない
切り分け2
バージョン1のdocker-composeを入れる
手順
全手順と同じ
以下から1.29.1を選択
結果
起動しないどころか、エラーが出る
Command failed: /home/vscode/.vscode-server/bin/e8a3071ea4344d9d48ef8a4df2c097372b0c5161/node /home/vscode/.vscode-remote-containers/dist/dev-containers-cli-0.266.1/dist/spec-node/devContainersSpecCLI.js up --workspace-folder /home/vscode/work --workspace-mount-consistency cached --id-label devcontainer.local_folder=/home/vscode/work --log-level debug --log-format json --config /home/vscode/work/.devcontainer/devcontainer.json --default-user-env-probe loginInteractiveShell --build-no-cache --remove-existing-container --mount type=volume,source=vscode,target=/vscode,external=true --skip-post-create --update-remote-user-uid-default on --mount-workspace-git-root true
切り分け3
docker-compose
の問題か、それ以外を確かめる
docker-composeを使わず、直接イメージを指定する
変更
devcontainer.json
// "dockerComposeFile": "../docker-compose.yaml",
"image": "mcr.microsoft.com/vscode/devcontainers/go:1.18",
// "service": "app",
結果
変わらず
ログから異常は見えない気がするんだけどなあ...
切り分け4
Dev Containers
のバージョンを下げる
結果
v0.266.1
:失敗
v0.262.3
:失敗
v0.255.4
:失敗
v0.231.6
:失敗
切り分け5
ホストをlinuxにして同じことをやる
結果
linux側だとうまくいく...
解決
linux側とvscodeのバージョンを合わせたら解決した...
nanndakoreha...
バージョン一覧
- vscode: 1.73.1(User Setup)
- dev container: v0.266.1
- docker: 20.10.22
- docker-compose: v2.14.1
今回引っかかった事象まとめ
事象
最新版vscode1.74.2
を使用すると以下のログで停止、ファイルとターミナルを操作できない
[14133 ms] Start: Run in container: (dd iflag=fullblock bs=8192 count=8142 2>/dev/null; dd iflag=fullblock bs=2956 count=1 2>/dev/null) | tar --no-same-owner -xz -C /vscode/vscode-server/bin/linux-x64/e8a3071ea4344d9d48ef8a4df2c097372b0c5161_1672720361719
ワークアラウンド
vscodeのバージョンを1.73.1
に下げる
解決のためクローズ
このスクラップは2023/01/03にクローズされました