WSL2
WSL2を有効化してストアからUbuntuとWindows Terminalをインストールする。
# PowerShell
$ dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
$ dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
$ wsl --set-default-version 2
Ubuntuのユーザー設定後、Windows Terminalの既定のプロファイルをUbuntuに変更するとMacのターミナルのように使うことができる。 GoやAWS CLIなど必要なものをUbuntuに入れていく。
$ sudo apt install -y make
# Go & grpc
$ wget https://golang.org/dl/go1.16.4.linux-amd64.tar.gz
$ sudo tar -C /usr/local -xzf go1.16.4.linux-amd64.tar.gz
$ echo "export PATH=$PATH:/usr/local/go/bin" >> ~/.bash_profile
$ sudo apt install -y protobuf-compiler
$ go install google.golang.org/protobuf/cmd/[email protected]
$ go install google.golang.org/grpc/cmd/[email protected]
$ echo 'export PATH="$PATH:$(go env GOPATH)/bin"' >> /.bash_profile
$ ln -s /mnt/c/Users/****/go ~/go
# AWS CLI, CDK
$ sudo apt install -y unzip npm
$ curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip" && unzip awscliv2.zip && sudo ./aws/install
$ aws configure
$ mkdir -p /mnt/c/Users/****/.aws/
$ mv ~/.aws /mnt/c/Users/****/.aws
$ ln -s /mnt/c/Users/****/.aws ~/.aws
$ sudo npm install -g cdk
# Git config
$ ssh-keygen -t rsa -b 4096
$ git config --global user.name "*****"
$ git config --global user.email "*****"
$ git config --global core.filemode false
$ git config --global core.editor "vim"
割り当てるリソース量などはwslconfigで変更できる。
Docker
WSL2用コンポーネントにチェックを入れてDocker Desktopをインストールして起動すると、
WSL2から/var/run/docker.sock
でdaemonにアクセスできる。sudoなしで実行するためにdocker groupに入れる。
VSCodeのdevcontainerにSAM CLIをインストールしlocal invokeする - sambaiz-net
$ docker ps
Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock
$ ls -l /var/run/docker.sock
srw-rw---- 1 root docker 0 May 15 23:29 /var/run/docker.sock
$ sudo gpasswd -a <user> docker
VSCode
PATHの追加にチェックを入れてVSCodeをインストールすると、 WindowsのPATHがWSL2に引き継がれてcodeコマンドで開ける。
$ echo $PATH
...:/mnt/c/Users/****/AppData/Local/Programs/Microsoft VS Code/bin:/snap/bin:/usr/local/go/bin
$ ls "/mnt/c/Users/****/AppData/Local/Programs/Microsoft VS Code/bin"
code code.cmd
Remote - WSL Extensionを入れるとWSL2環境で開発できる。