使用wsl2 在windows 下安裝 Docker

系統(tǒng)要求

建議先升級windows10到20H1/20H2 or higher, 預(yù)設(shè)就會是wsl 2 版本

啟用安裝wsl

wsl2 需要使用Hyper-V了牛,請確認已經(jīng)打開Hyper-V 的功能

控制面板 --> 程序和功能 --> 啟用或關(guān)閉 Windows 功能 --> 勾選 Hyper-V

8ce216794509d5de0a320c2db1bdbaa.png

家庭版沒有Hyper-V框产,先新建一個文本文件殷绍,復(fù)制粘貼一下代碼到文本中博秫,保存為Hyper-V.cmd仔蝌,使用管理員運行,等

重新啟動完成就可以看見Hyper-V了

pushd "%~dp0"
dir /b %SystemRoot%\servicing\Packages\*Hyper-V*.mum >hyper-v.txt
for /f %%i in ('findstr /i . hyper-v.txt 2^>nul') do dism /online /norestart /add-package:"%SystemRoot%\servicing\Packages\%%i"
del hyper-v.txt
Dism /online /enable-feature /featurename:Microsoft-Hyper-V-All /LimitAccess /ALL

以管理員身份執(zhí)行以下 PowerShell 命令

dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

重啟電腦呜笑,然后到 控制面板 --> 程序和功能 --> 啟用或關(guān)閉 Windows 功能 --> 勾選 適用于 Linux 的 Windows 子系統(tǒng)和虛擬機平臺

4df80c6d036662cf09731059160df7a.png

WSL 版本改成WSL2

在 PowerShell 中執(zhí)行以下命令

wsl --set-default-version 2

安裝 Linux 發(fā)行版本

在 windows 10 中啟動 Microsoft Store颓芭,然后在商店中搜索ubuntu横侦,這邊使用是Ubuntu 22.04.3 LTS

4db2d65761b2600d6ea661c233041da.png

安裝后啟動抗斤,設(shè)置好賬號密碼

更換Systemd

很多l(xiāng)inux 應(yīng)用都需要systemd 來管理和啟動服務(wù),WSL2 是windows 下的一個VM,微軟制作了一個init(PID 1)丈咐,快速啟動WSL VM 以及與windows 通信瑞眼,執(zhí)行 systemctl 確認是否有 systemd

ubuntu@DESKTOP:/mnt/$ systemctl
System has not been booted with systemd as init system (PID 1). Can't operate.
Failed to connect to bus: Host is down

GitHub 上已經(jīng)有構(gòu)建systemd(PID 1)環(huán)鏡,這里我們使用DamionGans/ubuntu-wsl2-systemd-script棵逊,按照說明操作就可以了

ubuntu@CM-PC-02057:~$ git clone https://github.com/DamionGans/ubuntu-wsl2-systemd-script.git
Cloning into 'ubuntu-wsl2-systemd-script'...
remote: Enumerating objects: 3, done.
remote: Counting objects: 100% (3/3), done.
remote: Compressing objects: 100% (3/3), done.
remote: Total 118 (delta 0), reused 2 (delta 0), pack-reused 115
Receiving objects: 100% (118/118), 34.22 KiB | 455.00 KiB/s, done.
Resolving deltas: 100% (57/57), done.
ubuntu@CM-PC-02057:~$ cd ubuntu-wsl2-systemd-script
ubuntu@CM-PC-02057:~/ubuntu-wsl2-systemd-script$ bash ubuntu-wsl2-systemd-script.sh

安裝成功后退出伤疙,重啟ubuntu,使用 wsl -t Ubuntu,Ubuntu 換成你的ubuntu 的名字辆影,使用wsl -l 查看徒像,這里是Ubuntu-20.04,所以執(zhí)行的是 wsl -t Ubuntu-20.04

ubuntu@CM-PC-02057:~/ubuntu-wsl2-systemd-script$ exit
logout

在 PowerShell 中執(zhí)行以下命令

PS C:\WINDOWS\system32> wsl -l
適用于 Linux 的 Windows 子系統(tǒng)分發(fā):
Ubuntu-20.04 (默認)

PS C:\WINDOWS\system32> wsl -t Ubuntu-20.04
PS C:\WINDOWS\system32> wsl -d Ubuntu-20.04

檢查有沒有成功啟動 systemd

ubuntu@DESKTOP:~# ps aux
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root         1  0.0  0.0   2452  1608 hvc0     Sl+  09:57   0:00 /init
root         6  0.0  0.0   2476   132 hvc0     Sl+  09:57   0:00 plan9 --control-socket 5 --log-level 4 --server-fd 6 --
root        10  0.0  0.0   2472   116 ?        S    09:57   0:00 /init
root        44  0.0  0.0   7240   516 ?        Ss   09:58   0:00 /usr/bin/unshare --fork --pid --mount-proc bash -c expo
root        46  0.0  0.3  26864 12080 ?        Ss   09:58   0:00 /lib/systemd/systemd --unit=basic.target
root        88  0.0  0.3  51672 15500 ?        S<s  09:58   0:00 /lib/systemd/systemd-journald
root       105  0.0  0.1  21596  7100 ?        Ss   09:58   0:00 /lib/systemd/systemd-udevd
systemd+   117  0.0  0.2  18552  7928 ?        Ss   09:58   0:00 /lib/systemd/systemd-networkd
message+   254  0.0  0.1   7364  4024 ?        Ss   09:58   0:00 /usr/bin/dbus-daemon --system --address=systemd: --nofo
root       334  0.0  0.1  16940  7640 ?        Ss   09:58   0:00 /lib/systemd/systemd-logind
root       660  0.0  0.0   2460   816 ?        Ss   10:13   0:00 /init
root       661  0.0  0.0   2472   116 ?        S    10:13   0:00 /init
root       662  0.0  0.0   2616   596 pts/0    Ss+  10:13   0:00 sh
root       671  0.0  0.0   2476   120 ?        S    10:13   0:00 /init
root       672  0.0  0.6 1247876 24184 pts/1   Ssl+ 10:13   0:00 /mnt/wsl/docker-desktop/docker-desktop-user-distro prox
root       688  0.0  0.0   2476   120 ?        S    10:13   0:00 /init
root       689  0.0  1.0 768592 42792 pts/2    Ssl+ 10:13   0:00 docker serve --address unix:///root/.docker/run/docker-
root       723  0.0  0.0   2456   112 ?        Ss   10:51   0:00 /init
root       725  0.0  0.0   2472   116 ?        R    10:51   0:00 /init
root       728  0.0  0.1  10048  5148 pts/3    Ss   10:51   0:00 -bash
root       766  0.0  0.0  10608  3220 pts/3    R+   11:11   0:00 ps aux

安裝Docker

有了systemd蛙讥,就可以安裝 docker engine 了锯蛀,按照官方下載安裝就可以了

ubuntu@DESKTOP:~# docker --version
Docker version 24.0.7, build afdd53b

可能會遇到的問題

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末次慢,一起剝皮案震驚了整個濱河市旁涤,隨后出現(xiàn)的幾起案子翔曲,更是在濱河造成了極大的恐慌,老刑警劉巖劈愚,帶你破解...
    沈念sama閱讀 219,039評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件瞳遍,死亡現(xiàn)場離奇詭異,居然都是意外死亡菌羽,警方通過查閱死者的電腦和手機掠械,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,426評論 3 395
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來注祖,“玉大人猾蒂,你說我怎么就攤上這事∈浅浚” “怎么了肚菠?”我有些...
    開封第一講書人閱讀 165,417評論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長署鸡。 經(jīng)常有香客問我案糙,道長限嫌,這世上最難降的妖魔是什么靴庆? 我笑而不...
    開封第一講書人閱讀 58,868評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮怒医,結(jié)果婚禮上炉抒,老公的妹妹穿的比我還像新娘。我一直安慰自己稚叹,他們只是感情好焰薄,可當我...
    茶點故事閱讀 67,892評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著扒袖,像睡著了一般塞茅。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上季率,一...
    開封第一講書人閱讀 51,692評論 1 305
  • 那天野瘦,我揣著相機與錄音,去河邊找鬼飒泻。 笑死鞭光,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的泞遗。 我是一名探鬼主播惰许,決...
    沈念sama閱讀 40,416評論 3 419
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼史辙!你這毒婦竟也來了汹买?” 一聲冷哼從身側(cè)響起佩伤,我...
    開封第一講書人閱讀 39,326評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎卦睹,沒想到半個月后畦戒,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,782評論 1 316
  • 正文 獨居荒郊野嶺守林人離奇死亡结序,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,957評論 3 337
  • 正文 我和宋清朗相戀三年障斋,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片徐鹤。...
    茶點故事閱讀 40,102評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡垃环,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出返敬,到底是詐尸還是另有隱情遂庄,我是刑警寧澤,帶...
    沈念sama閱讀 35,790評論 5 346
  • 正文 年R本政府宣布劲赠,位于F島的核電站涛目,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏凛澎。R本人自食惡果不足惜霹肝,卻給世界環(huán)境...
    茶點故事閱讀 41,442評論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望塑煎。 院中可真熱鬧沫换,春花似錦、人聲如沸最铁。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,996評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽冷尉。三九已至漱挎,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間雀哨,已是汗流浹背磕谅。 一陣腳步聲響...
    開封第一講書人閱讀 33,113評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留震束,地道東北人怜庸。 一個月前我還...
    沈念sama閱讀 48,332評論 3 373
  • 正文 我出身青樓,卻偏偏與公主長得像垢村,于是被迫代替她去往敵國和親割疾。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,044評論 2 355

推薦閱讀更多精彩內(nèi)容