WSL
wsl 導入
いまなら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
wsl2でのdocker install
必要なら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
一定規模以上のエンタープライズだと有料に
個人利用ならdocker desktopでもよい。
rancher desktopもある
k3sも勝手にinstallされるので注意
k3sを有効化するかはオプションなので不要ならdisableにすればよい
wslとの連携やcontainer runtimeをdockerdにするかは設定次第なので設定も忘れずに
dockerd(moby)にしないとdocker cli使えないので設定が必要
wsl2 networking
wsl2は結局のところ隔離されたhyper-Vで構築されたVMっぽい。
wsl2の外部への通信は専用のNAT経由になっているのでwsl2への外部からの接続はできない 。
localhostについての通信のみうまいことフォワーディングしているらしい。
.devcontainerにdevcontainer.jsonという設定ファイルがあるとよい。
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"
]
}