前言
最近看到2004的更新預告,好奇查了下更新內(nèi)容,發(fā)現(xiàn)家庭版可以使用docker了
之前只有專業(yè)版可以裝,因此對于我這種只有win10 Home的開發(fā)者來說是非常好的消息了
本文目的:
在win10-v2004版本下(必須),安裝docker
流程概述
① 開啟windows相關功能
② 安裝wsl
③ 安裝Docker Desktop for Windows
④ 配置Docker Desktop for Windows
⑤ 最后測試
安裝過程
① 開啟windows功能
打開管理員模式的PowerShell,輸入下面2段話
- 啟用WSL(Windows-Subsystem-Linux)
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
- 啟用虛擬機平臺VirtualMachinePlatform
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
然后重啟計算機
② 安裝wsl
在win store中安裝ubuntu(也可以選擇其他版本的linux,這里因為我比較熟悉ubuntu)

然后啟動,初始化后需要設置一個非root的用戶名和密碼
成功進入ubuntu系統(tǒng)后可以看看風景,再安裝wsl2內(nèi)核
下載地址: https://docs.microsoft.com/zh-cn/windows/wsl/wsl2-kernel

安裝完成后在
powershell中輸入 wsl --set-default-version 2,將默認wsl的版本設置為2
③ 安裝Docker Desktop for Windows
下載win下的Docker Desktop for Windows
地址: https://hub.docker.com/editions/community/docker-ce-desktop-windows/
左邊是穩(wěn)定版,右邊是前沿版,這里推薦下載穩(wěn)定版

安裝時一路下一步就行了
④ 配置Docker Desktop for Windows
主要是鏡像源的問題,除非肉身出墻,國內(nèi)的網(wǎng)絡下原版的image速度根本沒法看...
進入到Docker Engine

他的配置是一段json,將
registry-mirrors處修改為如下:(2個可以同時使用,或者選一個.記得刪掉注釋)
{
"registry-mirrors": [
# 中科大
"https://docker.mirrors.ustc.edu.cn",
# DaoCloud
"http://f1361db2.m.daocloud.io"
]
}
其他一些設置比如是否開機啟動,是否發(fā)送用戶反饋等,自行設置
K8S我沒研究過,不獻丑了.畢竟窮,用不起集群
⑤ 最后測試
Docker Desktop內(nèi)置的shell不是很好用,我感覺有點延遲
因此這里順便推薦下Windows Terminal,可以在Win商店下載
當然,你使用Powershell或者CMD也都可以
這里我拿redis作為案例
-
docker -v: 檢查版本,并確認已安裝 -
docker pull redis: 拉取reids
image.png -
docker run --name my-redis -p 6379:6379 -d redis: 創(chuàng)建并后臺啟動
最后拿RDM測試下

至此,配置完成
其他補充,關于wsl-linux(ubuntu)
一些關于ubuntu的屁話放這里
ubuntu免密登陸
如果覺得每次登陸wsl-ubuntu需要輸密碼很麻煩
可以在powershell進行以下設置來免除每次sudo -i時需要密碼
- 查看wsl-ubuntu的安裝位置,默認情況下應該在
C:\Users\YOUR_USERNAME\AppData\Local\Microsoft\WindowsApps(注意替換自己的用戶名).
我的wsl-ubuntu則是ubuntu2004.exe - 執(zhí)行命令
ubuntu2004.exe config --default-user root
修改ubuntu20.04的鏡像源
- 先將原來的備份,
mv /etc/apt/sources.list /etc/apt/sources.list.bk - 修改為清華的源,
/etc/apt/sources.list
將以下內(nèi)容貼到文件中
# 默認注釋了源碼鏡像以提高 apt update 速度,如有需要可自行取消注釋
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-updates main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-backports main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-security main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-security main restricted universe multiverse
# 預發(fā)布軟件源,不建議啟用
# deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-proposed main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-proposed main restricted universe multiverse
然后就可以愉快的apt update & apt upgrade了
修改wsl-ubuntu的wsl版本
可以通過wsl -l -v來查看所有wsl所使用的版本,輸入后你會發(fā)現(xiàn)
NAME STATE VERSION
* Ubuntu-20.04 Stopped 1
如果希望ubuntu系統(tǒng)使用wsl2的話可以輸入
# Ubuntu-20.04是根據(jù)你的linux版本而定
# 最后的 2 代表wsl版本,如果希望切換回1則輸入1
wsl --set-version Ubuntu-20.04 2
關于wsl1和wsl2的性能可以參考: https://www.ithome.com/0/463/355.htm
總結:1比較穩(wěn)定,2有些時候比較快.選哪個都差不多吧
一些不確定因素
通篇看下來就會發(fā)現(xiàn)一點,安裝docker的過程中,wsl-ubuntu根本沒用到,但還是裝了
因為官方教程就是這么寫的
我猜測可能只是為了借助他來安裝wsl1
或者在開啟wsl服務后直接安裝wsl2,也可能可以安裝docker
如果有興趣你可以自己測試下
參考
- docker-win下安裝docker: https://docs.docker.com/docker-for-windows/install/
- win10-wsl的安裝: https://docs.microsoft.com/zh-cn/windows/wsl/install-win10
- 設置wsl-ubuntu密碼: https://www.howtogeek.com/261417/how-to-change-your-user-account-in-windows- 10s-ubuntu-bash-shell/ , https://blog.csdn.net/qq_44863067/article/details/106419040?fps=1&locationNum=2
- docker國內(nèi)鏡像: https://lug.ustc.edu.cn/wiki/mirrors/help/docker , https://www.daocloud.io/mirror
- 修改ubuntu鏡像源: https://blog.csdn.net/xiangxianghehe/article/details/105688062
