🖋

Mac上のVS CodeでRemote-SSHを使い。MultipassのUbuntu 20.04へアクセスする。

2022/02/14に公開

はじめに

https://zenn.dev/s_ryuuki/articles/65f0b1c39cafbe
↑作成した環境へVisual Studio CodeのRemote-SSHプラグインを使用してアクセスする。

環境

  • Visual Studio Code 1.64.1 [1]
    • Remote- SSH v0.70.0
    • Japanese Language Pack for Visual Studio Code

Remote-SSH

https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-ssh
VS Code上からMultipassのUbuntuへ接続するためのプラグイン。

プラグインのインストール

  1. 拡張機能を選択する
  2. 検索ボックスへ「REMOTE SSH」と入力する


3. 「Remote - SSH」をクリックする
4. 「インストール」ボタンを押す

MultipassのUbuntu 20.04へ接続

  1. リモートエクスプローラーを選択する
  2. 「docker-vm.local」[2]を右クリックする(接続メニューが表示される)


「Connect to Host in Current Window」を選択する。


左下に「SSH: docker-vm.local」と表示されていれば接続できてます。

※Warningが出る場合

仮想マシン(vm)を作り直すと「Warning: the ECDSA host key for 〜」ワーニングが出る。
赤線のファイルの:以降の数字(~/.ssh/known_hostsの6行目と7行目)の行を削除すると表示されなくなる。

MultipassのUbuntu 20.04から切断

  1. 左下の「SSH: docker-vm.local」をクリックする
  2. メニューから「リモート接続を終了する」をクリックする

使い方

基本ローカルでVS Codeを使うときと同じように使える。

接続先の設定

MultipassのUbuntu 20.04に「~/.vscode-server」というフォルダーが作成される。
「~/.vscode-server」下に、設定ファイル作成やプラグインがインストールされる。

ターミナル

Macのターミナルを起動せずにVS CodeからUbuntuにアクセスする。


メニューの「ターミナル」→「新しいターミナル」をクリックする。


VS Code上にターミナルが開く。
MultipassにログインせずともVS Code上からシェルが使用できる。

Ubuntu 20.04内のフォルダーを開く

  1. エクスプローラーを選択する
  2. フォルダーを開くをクリックする


「ファイルまたはフォルダーを開く」のlocalstack-0.13.0をクリックする。


「OK」ボタンを押す。


「はい、作成者を信頼します フォルダーを信頼してすべての機能を有効にする」ボタンを押す。[3]


通常使用時と同じようにファイルリストが表示される。
README.mdをクリックするとファイルの内容が表示される。

dockerプラグイン

https://marketplace.visualstudio.com/items?itemName=ms-azuretools.vscode-docker
dockerの操作をVS Code上から行えるようにする。

  1. 拡張機能の検索窓に「docker」と入力する
  2. dockerプラグイン横の「インストール」ボタンを押す。


サイドバーにdockerアイコンが追加される。


実行されているdocker情報が表示される。[4]
また、イメージ内の情報が参照できる。


実行中のdockerを右クリックするとメニューが表示される。
各種機能を実行できる。

ポートフォワード

docker-composeで起動しているlocalstackへMac側からアクセスできるようにポートフォワード設定を追加する。


ターミナルと同じところに「ポート」というタブがある。

  1. ポートタブを選択する
  2. 「Forward a Port」ボタンを押す


「ポート番号またはアドレス」をクリックする


「4566」と入力してEnter(return)キーを押す。


設定が追加されたことを確認する。


Macのターミナルからcurlコマンドでlocalstackにアクセスする。

% curl -s http://localhost:4566/health | jq
{
  "features": {
    "initScripts": "initialized"
  },
  "services": {
    "acm": "available",
    "apigateway": "available",
    "cloudformation": "available",
    "cloudwatch": "available",
〜後略〜

参考にしたサイト

脚注
  1. キャプチャ画像はPortableモードで撮影 ↩︎

  2. 「docke-vm.local」が表示されない場合は「sshログイン」できるかを確認してください。 ↩︎

  3. 初回のみ表示される ↩︎

  4. Ubuntu上でdockerデーモンが動いていないと表示されない ↩︎

Discussion