原文鏈接:https://www.xu.ci/2019/12/wsl2ubuntudocker.html
原文作者:博客園--曲高終和寡
*******************如果你看到這一行,說明爬蟲在本人還沒有發布完成的時候就抓走了我的文章,導致內容不完整,請去上述的原文鏈接查看原文****************
WSL2增加了對docker的支持以后大半年,我准備嘗試在WSL2上安裝docker,但是踩了無數的坑,這里記錄一下,避免大家再有我這樣的悲慘遭遇
1.一定要確認windows版本在預覽版189XX以后!!!!!!!!!!!!!!!!!!!
用一般的消費者版裝的win10正式版,哪怕在2019年12月,windows版本仍然在183XX的版本,所以請在系統升級那里換成預覽版,選FAST,然后重新更新系統,
如果更新成功,直接看第2步
如果更新失敗,十有八九是因為要求必須用GPT+UEFI啟動,
電腦里很多重要文件/動手能力差的,請直接放棄!!!!!!!!!!!!!!!!!!!
進BIOS設置僅UEFI啟動,然后重裝系統(我試過在現有基礎上直接從MBR轉GPT,然后修改成UEFI啟動,結果開機直接提示錯誤代碼:0xc000000e,還是直接重裝好一點),(這里記得裝系統用的U盤也設置成僅UEFI啟動,否則沒法識別),轉預覽版,選FAST,更新
2.按win+X,點命令提示符(管理員)[有的版本顯示Windows PowerShell],輸入:
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
重啟
3.進微軟商店,搜Ubuntu,下載
4.按win+X,點命令提示符(管理員)[有的版本顯示Windows PowerShell],輸入:
Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform
再默認使用WSL2
wsl --set-default-version 2
查看是不是WSL2
wsl -l -v

5.打開ubuntu,切換到root(好像也可以不切,只是我喜歡)
$ curl -fsSL https://get.docker.com -o get-docker.sh $ sudo sh get-docker.sh $ sudo service docker start
6.從189XX版本后,windows也可直接訪問WSL2里面的端口了
比如WSL2里用docker安裝了postgres
docker run -d -e POSTGRES_USER=postgres -e POSTGRES_PASSWORD=postgres --name postgres -p 5432:5432 --restart=always postgres
可以直接在windows上的pgadmin訪問localhost的5432端口連接進WSL2里面的docker運行的postgres
參考這個,windows開機啟動docker
https://www.xu.ci/2019/12/windowswsl2ubuntu.html
