WSL
wsl 導入
https://docs.microsoft.com/ja-jp/windows/wsl/install-win10
いまならwsl2になる。
code:sh
wsl --set-version Ubuntu-20.04 2
wsl --set-default-version 2
beep on 無効化
code: shell
echo "set bell-style none" >> ~/.inputrc
echo "export LESS=-q" >> ~/.profile
echo "set belloff=all" >> ~/.vimrc
便利なwindows driveとのリンク
ln -s /mnt/c/Users/{$WIN_USERNAME}/Desktop/ Desktop
ln -s /mnt/c/Users/{$USER}/Downloads/ Downloads
ln -s /mnt/c/Users/{$USER}/Documents/ Documents
[[
wsl config
port forwardingとメモリ上限。
wslがメモリ使いすぎて困るときは環境に応じて適宜。
code:c:\Users\<Username>\.wslconfig
LocalhostForwarding=True
memory=8GB
docker
いつのまにかdockerも使えるようになっていたらしい
wsl2でのdocker install
https://dev.to/felipecrs/simply-run-docker-on-wsl2-3o8
必要ならproxy設定もお忘れなく
dodker group 追加
sudo usermod -aG docker [ユーザ名]
wsl daemon auto start
C:\Users\ユーザ名\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startupにバッチファイル配置
例としてsshdとdocker daemonの自動起動
code: start.bat
@echo off
wsl -u root -- service ssh start
wsl -u root -- service docker start
docker desktop for windows
https://docs.docker.jp/docker-for-windows/wsl.html
一定規模以上のエンタープライズだと有料に
個人利用ならdocker desktopでもよい。
rancher desktopもある
https://rancherdesktop.io/
k3sも勝手にinstallされるので注意
k3sを有効化するかはオプションなので不要ならdisableにすればよい
wslとの連携やcontainer runtimeをdockerdにするかは設定次第なので設定も忘れずに
dockerd(moby)にしないとdocker cli使えないので設定が必要
wsl2 networking
wsl2は結局のところ隔離されたhyper-Vで構築されたVMっぽい。
wsl2の外部への通信は専用のNAT経由になっているのでwsl2への外部からの接続はできない 。
localhostについての通信のみうまいことフォワーディングしているらしい。
vscode連携
.devcontainerにdevcontainer.jsonという設定ファイルがあるとよい。
https://paiza.hatenablog.com/entry/2019/07/08/VSCodeとDockerで簡単に開発環境を構築&共有する方法
devcontainer.jsonでdockerfile pathを相対パスで指定
code:=sample
{
"name": "dev container",
"build": {
"dockerfile": "../Dockerfile",
// Update 'VARIANT' to pick a Node version: 10, 12, 14
"args": { "VARIANT": "14" }
},
// コンテナのサービス名
"service": "app",
// コンテナ内でのユーザー
"remoteUser": "docker",
// VSCodeで開くコンテナ内のパス
"workspaceFolder": "/code",
// コンテナ内で使用する拡張機能
"extensions": [
"dbaeumer.vscode-eslint",
"esbenp.prettier-vscode"
]
}
バックアップ
code:=powershell
#ディストリビューション名確認
wsl --list --verbose
# export
wsl --export Ubuntu C:\Users\ユーザ名\Documents\Ubuntu_backup.tar
リストア
code:=powershell
wsl --import <新しいディストリビューション名> <インストール先パス> <バックアップファイルのパス>
ミラーモード
https://zenn.dev/roymccrain/articles/5d22f968088312
code:=WSL
networkingMode=mirrored