目錄

WSL with docker at Windows 10

目錄

沒想到原來也可以直接在 WSL 裡面跑 docker, 而且不用裝那個肥大的 Docker Desktop for Windows ….

昨天突然又想要在自己的電腦上搞一些 linux 下的東西,但又很懶得連到遠端的機器操作,就又把腦筋動到 WSL 上,但又不想把自己電腦的 Ubuntu 弄得亂七八糟,所以又想到能不能在 WSL 裡面跑 Docker 了 ….. 沒想到經過一番搜尋還真的有!

1
2
3
4
5
# Download install script
curl -fsSL https://get.docker.com -o get-docker.sh
# execute the script
sudo sh get-docker.sh
sudo usermod -aG docker $USER

出奇的簡單,直接在 WSL 環境下執行上述指令即可。

但 docker 沒辦法在 WSL 環境下自動在開機的時候執行,可以透過偷雞的方式在 .bashrc 塞進執行指令即可。

1
2
3
4
# Bash
echo "sudo service docker start">> ~/.bashrc
# Fish shell
#echo sudo service docker start>> ~/.config/fish/config.fish

另外,因為 WSL 預設不會把執行帳號加入免密碼執行 sudo 的名單,需要手動補上

1
2
3
4
5
6
# Switching to root account
sudo su
# Add current user to sudoers list
sudo echo "$USER ALL=(ALL:ALL) NOPASSWD: ALL">> /etc/sudoers
# logout root
exit
小記

由於 /etc/sudoers 在我的系統尚無法直接用 sudo 來修改,我必須先透過 sudo su 切成 root 後才能修改, 所以上述指令中的

4
sudo echo "$USER ALL=(ALL:ALL) NOPASSWD: ALL">> /etc/sudoers

這一行的 $USER 會被替換成 root,所以各位在使用時還是自己用 nano or vi 之類的編輯軟體替換為 $USER 為想要使用的帳號。

參考

4天-哎呀,被 WSL2 坑一把 ╰(艹皿艹 ) - iT 邦幫忙::一起幫忙解決難題,拯救 IT 人的一天

win10利用WSL2安装docker的2种方式

How to make WSL2 run services at startup?