Closed5
【devcontainer】コマンドパレットからdevcontainerを起動した際のファイルの格納場所
![arika](https://res.cloudinary.com/zenn/image/fetch/s--xd0gJW2---/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_70/https://storage.googleapis.com/zenn-user-upload/avatar/3c8d36498a.jpeg)
コマンドパレットからdevcontainerを立ち上げるのはとても手軽で楽なのだが、ファイルの実体がよくわからないことになるのが難点。
うっかりdocker-compose.yml
を誤って編集してしまった際など、.devcontainer/
の実体に触りたいことがある。
その際に、どこにあるかがかなり分かりにくいためメモ。
![arika](https://res.cloudinary.com/zenn/image/fetch/s--xd0gJW2---/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_70/https://storage.googleapis.com/zenn-user-upload/avatar/3c8d36498a.jpeg)
コンテナ立ち上げ時のログをよく見ると、devcontainer用のイメージを作成した後に
[2088 ms] Start: Run: docker run -d --mount type=volume,src=hogehoge_project,dst=/workspaces -v /var/run/docker.sock:/var/run/docker.sock vsc-volume-bootstrap sleep infinity
というコマンドが走っている。
おそらくvolumeの(プロジェクト名)
を/workspaces
にマウントしている様子。これっぽい。
![arika](https://res.cloudinary.com/zenn/image/fetch/s--xd0gJW2---/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_70/https://storage.googleapis.com/zenn-user-upload/avatar/3c8d36498a.jpeg)
というわけで適当にファイル編集用のコンテナを作成する。
docker run -it --rm --mount type=volume,src=(your_project_name),dst=/workspaces vsc-volume-bootstrap bash
srcの部分を随時書き換える。
起動するコンテナはなんでも良いので、今回は先程用意されていたdevcontainerのテンプレートコンテナをそのまま使う。
また、使い終わったら消えるように--rm
フラグをつけておく。
![arika](https://res.cloudinary.com/zenn/image/fetch/s--xd0gJW2---/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_70/https://storage.googleapis.com/zenn-user-upload/avatar/3c8d36498a.jpeg)
後はvscodeのremote-containerから作成したコンテナにアクセスすれば良い。
編集が終わったらシェルを閉じること。
![arika](https://res.cloudinary.com/zenn/image/fetch/s--xd0gJW2---/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_70/https://storage.googleapis.com/zenn-user-upload/avatar/3c8d36498a.jpeg)
【追記】
もっと良い方法があったので追記する。
vscodeのremote-containerから
「開発ボリューム」→「(プロジェクト名)」→右クリック→「開発コンテナーで探索する」
これだけでファイルを操作するコンテナが立ち上がる。
すごい手軽。
このスクラップは2023/08/27にクローズされました