docker via sshとvscode検証メモ
#docker #vscode
インストールするもの
windows側
vscode
拡張機能のremote developmentもインストール
後述のdocker-cli用にhostの設定も必要
docker contextでsshを使うのも可
docker-cli
docker --host ssh://hogeでdockerが使える
ローカルにdocker本体をインストールするわけではないのでwsl2とか不要
windows向けの提供は公式じゃなくて有志がやってるっぽいのが不安要素かも
linux側
docker
動かし方は大まかに2種類
今のところattachで使っている
ssh経由でreopenは管理が複雑化しそうでやめた
attach to running container
メリット
簡単で分かりやすい
sshでdocker-compse upしてattachでOK
デメリット
設定ファイルが管理しにくい
グローバルに置く必要があるのでプロジェクトに含めることができない
reopen in conainer
メリット
設定ファイルが管理しやすい
プロジェクトの.devcontainerディレクトリで管理できる
attachより柔軟な設定ができる
ただし後述のデメリットが大きすぎる
docker-composeが使えるようになったので大きすぎるは過言になった
ゆくゆくはこっちを使っていきたい
やっぱりそんなことないかも
デメリット
docker-composeのバージョンが古いと動かない?
二重管理になってややこしい
ローカルとリモートでdocker-compose.ymlが2つ生まれる
プロジェクトとdocker-compose.ymlが分離するのがややこしい
プロジェクト名を揃えたりいろいろややこしい
ディレクトリ名を揃えればいい
その他
拡張機能のキャッシュについて
https://code.visualstudio.com/docs/remote/containers-advanced#_avoiding-extension-reinstalls-on-container-rebuild
ソースコードは/workspace にマウントで統一するとか決めると捗るかもしれない
remote sshでディレクトリ開いてreopen containerとか出来ればベストだったんだけど無理そう
とりあえず起動しっぱなしのコンテナ作るならcommandにsleep infinityを指定すれば良さそう