2021/10/07投稿
※最新版はharoot.netに移動しました。
結論
Remote-Containersのopen container configuration file
コマンドで開かれる○○.json(○○はdockerのイメージ名)のworkspaceFolderの値を修正すればよい。
環境
Windows10 Pro 21H1
VSCode 1.60.2
Docker 20.10.8
docker-compose 2.0.0
Docker(VSCode) 1.17.0
Remote-Containers(VSCode) 0.194.3
動機
docker-composeを使ってリモートにフォルダを作成してみたところ、フォルダの場所が良くなかった(/app)ので変更することにした(/home/app)。
- docker-compose.ymlの
volumes
とworking_dir
を編集してフォルダが作成されるパスを変更 -
docker-compose up -d
でリモート環境を再構築 - vscodeのリモートエクスプローラーから再構築したコンテナへ
attach
これで作業フォルダを開いたvscodeが起動するはずだったが"開くことができません"とエラーが出てしまった。
パス修正
試行錯誤した結果、どうやらRemote-Containersの作業フォルダのパスはvscode側に保存されるらしく、そのパスが古いまま(/app)更新されていないのが原因だった。
コマンドパレット(ctrl+shift+P)や左下のDev Container:○○から、Open Container Configuration File
を選択。
すると○○.json(○○はdockerのイメージ名)が開かれる。
(実際のファイルの場所はwindowsなら、 ~/AppData/Roaming/Code/User/globalStorage/ms-vscode-remote.remote-containers/imageConfigs/○○.json あたりにある)
ここのworkspaceFolderが古いまま(/app)なので新しいパスに書き換える(今回なら/home/app)。
これで保存してもう一度attach
すればちゃんと/home/appが開かれる。