Windows11にWSL(Ubuntu)とDocker Desktopを入れてVS CodeからUbuntuに接続し、gitの設定もする
自分用のメモです。
システム屋ではないので詳しいことはわかりません。
環境
- Windows11 Home
WSLを入れるための準備
- 検索バーで「Windowsの機能の有効化または無効化」を検索して、ウィンドウを表示する。
下記の2つにチェックを入れて保存
- Linux用Windowsサブシステム(Windows Subsystem for Linux)
- 仮想マシンプラットフォーム
- microsoft storeで「windows terminal(ターミナル)」をインストールする。
ターミナルからwslコマンドをインストールする
【参考】https://learn.microsoft.com/ja-jp/windows/wsl/install
管理者モードで先ほどのターミナルを起動し、wsl --install
を実行。
再起動する。
Ubuntuをインストールする
【参考】https://qiita.com/ryome/items/240f36923f5cb989da27
-
wsl --list --online
を実行し、どのLinuxディストリビューション(何それ?)が使用できるか確認する。 -
wsl --install -d Ubuntu-20.04
とかをインストールする。一番新しいやつの安定版(LTS)でおK。 - ターミナルのタブ横の三角(v)からUbuntuが選べると思うので起動。無ければそのままshellに
wsl
でエンターすればUbuntuが起動するはず。 - Linux用のユーザー名、パスワード(新規ユーザー作成)を求められるので入力。パスワードは文字出てこないから気を付けてね。付箋にメモしてデスクマットにin。
Docker Desktopをインストールする
- ここからパッケージをダウンロードして、インストール。終わったら再起動。
https://docs.docker.com/desktop/install/windows-install/ - 起動したら右上の歯車(⚙)からResources > WSL integrationを選択し、Ubuntuのチェックを入れる。
VS CodeでUbuntuに接続する
よくわかんないけど、PCの中にOSが2つある状態らしい。
エクスプローラに、「Linux」タブが増えて知らないペンギンが座っている。
- VS Codeで下記のプラグインを追加する
- Remote Explorer(ms-vscode.remote-explorer)
- WSL(ms-vscode-remote.remote-wsl)
-
WSLの効果で左下に青色の「><」が出るのでクリックする。
「ディストリビューションを使用してWSLに接続」> 「Ubuntu-〇〇」
これでWindows上のVS CodeアプリからWSL上のhomeディレクトリにアクセスすることができる。 -
任意のプロジェクトを開いてdocker compose buildする
gitの設定をする
DcokerでUbuntuの恩恵を受けるには、WSL上にリポジトリをクローンまたは作成する必要があるらしい。
WSL上にはSourceTreeもGitHabもインストールできない。不便。
VS Codeに「Git Graph(mhutchie.git-graph)」をインストール。これが代わりのGUIになる。
WSL上にはGitの認証情報などが無い。
【参考】https://qiita.com/kyamawaki/items/07fb3332cf3c2f47728a
このままhttpsでWSL上にcloneすると毎回ユーザー名、パスワードを求められて非常に面倒になる。なのでsshによる認証情報を作成する。
-
\\wsl.localhost\Ubuntu-22.04\home\{user}
内に、「.ssh」フォルダを作る - ターミナルでUbuntuを起動し、
cd /.ssh
してフォルダに移動する -
ssh-keygen -t rsa -f {ファイル名}
でsshキーを生成。(rsaのほかにもいくつか方式があるらしい) -
cat {ファイル名}.pub}
でファイルの内容を表示、テキストをコピーする。(ファイル名が不明でもcat の後でtabキー押せば出てくる) - GitHubとかGitLabとかで、sshキーを登録する。
- (この操作はやった記憶がない)
.sshフォルダの中にconfigファイルを作って中身を入れる。
Host local-gitlab // ホスト
HostName local-gitlab // ホスト名
User hoge // ユーザー名
IdentityFile ~/.ssh/gitlab_rsa // 秘密鍵ファイル
7.gitコマンドを試して、接続できたら完了。
コミットの名前変じゃない?
コミット履歴見ると自分の名前がDESKTOP〇〇とかになってる……最悪……。
-
\\wsl.localhost\Ubuntu-22.04\home\{user}
内に、.gitconfigファイルを作成する。 - .gitconfigに下記の内容を入れる
[user]
name = {username}
email = {emailaddress}
ちなみに名前とメールアドレスはコード上からいつでも変更ができる。
git config --global user.name "{〇〇}"
git config --global user.email "{〇〇}"
Discussion