裝好 WSL2 之後想跑 Docker,但不想裝 Docker Desktop(吃資源又要授權),直接在 WSL2 裡裝 Docker CE 是比較乾淨的做法。
安裝步驟
先更新套件清單,裝好讓 apt 可以走 HTTPS 的相依套件:
1
2
| sudo apt-get update
sudo apt-get install ca-certificates curl gnupg lsb-release
|
加入 Docker 官方的 GPG key:
1
2
3
| sudo mkdir -m 0755 -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg \
| sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
|
設定 Docker 的 apt repository:
1
2
3
4
| echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] \
https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" \
| sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
|
安裝 Docker Engine:
1
2
3
| sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io \
docker-buildx-plugin docker-compose-plugin
|
驗證安裝
跑一下 hello-world 確認 Docker 正常運作:
1
| sudo docker run hello-world
|
如果不想每次都打 sudo,把自己加進 docker 群組:
1
| sudo usermod -aG docker $USER
|
重新開一個 terminal 就生效了。
WSL2 注意事項
WSL2 預設不會啟動 systemd,所以 Docker daemon 可能不會自動跑起來。每次開 WSL2 要手動啟動:
1
| sudo service docker start
|
或是在 /etc/wsl.conf 開啟 systemd 支援(Windows 11 22H2 以上):
改完重啟 WSL2 就不用每次手動啟動了。