Closed14
Mac の VSCode から開発サーバーに Remote SSH で接続する準備
モチベーション
- 最近 Dev Container での開発をよくするが、 Mac で Docker を立ち上げるとカクカクになる & ストレージを圧迫する
- 開発サーバーを用意し、リソースは開発サーバー側で用意することで、サクサクな開発環境を用意したい
- また LLM をローカルで動かそうとすると Mac ではメモリが足りないので、開発サーバーのメモリを増設することで対応したい
トンネルで接続できるように変更(セキュリティ的には不安が残る)
一般ユーザー権限で docker
コマンドを実行できるよう変更
リモートデスクトップもインストール
1password で SSH 鍵の設定
重要ポイントとして、IdentityFile には1で作成したSSHキーの公開鍵(~/.ssh/example_id_rsa.pub)を記載します。
こうすることで、1PasswordのSSHエージェントが対応する秘密鍵の情報を読み込んでくれます。
Remote SSH で開発サーバーに接続して、 Dev Container 起動できた
ちょっと古いけどやりたいことはこれ
うーん、開発サーバーに Remote SSH で接続して、さらに Dev Container を起動して、ローカル環境を起動すると、 Mac からローカル環境(@ 開発サーバー)に接続できない。
開発サーバーに Remote SSH して、そのままローカル環境を起動したら、 Mac からローカル環境にアクセスできる。
できた
- リモートサーバーにリポジトリをクローンしておく
-
devcontainer.json
を下記の通り設定する -
docker context use {コンテキスト名}
で接続先を選択する - リビルドして Dev Container を開く
./devcontainer/devcontainer.json
{
"name": "dev-container",
"image": "mcr.microsoft.com/devcontainers/typescript-node:1-20-bullseye",
"workspaceFolder": "/workspace",
"workspaceMount": "source=/full/path/to/remote/directory,target=/workspace,type=bind,consistency=cached",
}
$ docker context ls
NAME TYPE DESCRIPTION DOCKER ENDPOINT KUBERNETES ENDPOINT ORCHESTRATOR
default moby Current DOCKER_HOST based configuration unix:///var/run/docker.sock
desktop-linux moby Docker Desktop unix:///Users/mitsu/.docker/run/docker.sock
ukkari-reminder * moby ssh://mitsu@mitsu-desktop
今回のケースでは ukkari-reminder
を選択してある
このスクラップは2024/04/30にクローズされました