WSL(windows subsystem linux)是window系統的原生linux子系統,用于代碼開發很方便。
希望在wsl里面運行docker,首先要安裝docker在WSL中使用,大部分人的第一想法肯定是用以下命令行安裝(個人不推薦)
?# 更新軟件包列表
sudo apt-get update
?
# 安裝Docker
sudo apt-get install docker
?
# 確認Docker安裝成功并運行
sudo systemctl status docker
我不知道上面的命令是否真的能安裝,但反正我折騰了很長時間,最后沒搞定wsl里的docker,所以我給出另一種方案。
首先你需要安裝docker desktop這個免費軟件,從下面鏈接下載:
Docker Desktop: The #1 Containerization Tool for Developers | DockerDocker Desktop is collaborative containerization software for developers. Get started and download Docker Desktop today on Mac, Windows, or Linux.https://www.docker.com/products/docker-desktop/安裝時候記得勾選WSL選項,大概如下:
圖形界面安裝很簡單,安裝完成之后分別在powershell和wsl中執行以下命令得到如下回復即安裝成功。(需要注意的是在wsl中使用root用戶執行,或者加sudo前綴。)
$docker run hello-world
Hello from Docker!
This message shows that your installation appears to be working correctly.
powershell 是windows的命令行一般沒什么問題,wsl如果無法執行可以設置成WSL2,WSL1似乎不支持docker desktop
wsl?--set-default-version 2
我的windows電腦安裝了兩種WSL,一種是ubuntu(通過cmd的wsl install命令安裝),一種是ubuntu24(通過應用商店)但無論我如何折騰,我都沒辦法直接通過點擊紅色的ubuntu24圖標進入的wsl 命令行運行docker,結果總是
¥docker ps
The command 'docker' could not be found in this WSL 2 distro.
We recommend to activate the WSL integration in Docker Desktop settings.For details about using Docker Desktop with WSL 2, visit:
https://docs.docker.com/go/wsl2/
但在我嘗試如下命令將Ubuntu-24.04設為默認wsl的之后,Ubuntu-24.04中的docker也可用了,雖然不知道發生了什么。
wsl --set-default Ubuntu-24.04
如果你遇到了WSL中使用docker的問題,多嘗試設置,多重啟,最后可以參考以下網頁
Docker Desktop WSL 2 backend on Windows | Docker DocsTurn on the Docker WSL 2 backend and get to work using best practices, GPU support, and more in this thorough guide.https://docs.docker.com/desktop/wsl/?