目錄
- 一、安裝 WSL 先決條件
- 二、安裝 Docker 前的準(zhǔn)備
- 三、Windows 安裝 Docker
一、安裝 WSL 先決條件
必須運(yùn)行 Windows 10 版本 2004 及更高版本(內(nèi)部版本 19041 及更高版本)或 Windows 11。(來自官網(wǎng)的說明)
二、安裝 Docker 前的準(zhǔn)備
控制面板->程序和功能->啟用或關(guān)閉Windows功能->勾選 適用于Linux的Windows子系統(tǒng)
重啟電腦
打開應(yīng)用商城搜索 WSL ,可根據(jù)自己需求選擇安裝 Linux 發(fā)行版,我這里選擇 Ubuntu18.04
安裝完成后可在開始菜單里找到快捷方式并啟動(dòng),第一次運(yùn)行需要等待安裝并設(shè)置用戶名、密碼。
開始更換國(guó)內(nèi)鏡像源(注意:如果你選擇的不是 Ubuntu18.04,這一步不太一樣)
WSL 默認(rèn)源的服務(wù)器地址在國(guó)外,速度很慢,強(qiáng)烈建議使用國(guó)內(nèi)源,而不同 Linux 發(fā)行版鏡像源文件地址不一樣,比如 Ubuntu 是在 /etc/apt/sources.list
,Centos 是在/etc/yum.repos.d/CentOS-Base.repo
,同一 Linux 發(fā)行版的不同版本使用的源文件倉庫地址也是不一樣,這點(diǎn)需要注意。
如果是新手小白朋友,WSL 換源操作可以參考這篇文章:教你如何將WSL系統(tǒng)更換國(guó)內(nèi)源?+固定路徑+國(guó)內(nèi)鏡像源+詳細(xì)教程
進(jìn)入終端,輸入以下命令
# 切換到源路徑 cd /etc/apt # 備份 Ubuntu 原始源 cp sources.list sources.list.bak # 開始換源 sudo vim sources.list
Ubuntu18.04 阿里鏡像源
deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
Ubuntu18.04 中科大鏡像源
deb https://mirrors.ustc.edu.cn/ubuntu/ bionic main restricted universe multiverse deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic main restricted universe multiverse deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-security main restricted universe multiverse deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-security main restricted universe multiverse deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
Ubuntu18.04 清華鏡像源
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
換源之后,進(jìn)行更新
# 更新源 sudo apt update # 更新軟件包 sudo apt upgrade
三、Windows 安裝 Docker
Windows 安裝 Docker 方式分為兩種,二選一即可
1. 原生 Linux 安裝 Docker 方式
進(jìn)入之前安裝好的 Ubuntu,添加Docker源,依次輸入以下命令
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - sudo add-apt-repository \ "deb [arch=amd64] https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/ubuntu \ $(lsb_release -cs) \ stable" sudo apt update
配置完 Dock而 源之后,開始安裝 Docker,命令如下。
sudo apt install -y docker-ce
最后一個(gè)步驟,啟動(dòng) Docker daemon。但是此處有一個(gè)問題,WSL2 經(jīng)過測(cè)試無法使用systemctl
命令因此我們使用 service
命令啟動(dòng) Docker daemon。命令如下所示:
sudo service docker start
至此,Docker 在WSL2下安裝完畢。
檢查 Docker 安裝是否正常,可輸入以下命令進(jìn)行檢查。
# 檢查dockerd進(jìn)程啟動(dòng) service docker status ps aux|grep docker # 查看 Docker 版本 docker version # 檢查拉取鏡像是否正常 docker pull mysql docker images
2. Docker Desktop for windows方式
Docker 也專門開發(fā)了可以使用 WSL2
中的 Docker
守護(hù)進(jìn)程的桌面管理程序, 打開 Docker Desktop WSL2 backend 頁面,下載最新的 Docker Desktop for Windows 程序 ,建議下載stable版本。下載地址為:https://www.docker.com/products/docker-desktop
確保 WSL 內(nèi)的 Dokcer 已經(jīng)被卸載,在 Linux 子系統(tǒng)執(zhí)行以下命令
sudo apt remove docker-ce sudo apt remove docker-ce-cli
啟動(dòng)Docker Desktop for Windows,選擇 Settings –> General,啟動(dòng)基于WSL2
的引擎復(fù)選框(Use the WSL 2 based engine)
在 Resources 的WSL Integration
中設(shè)置要從哪個(gè) WSL2 發(fā)行版中訪問 Docker,如下圖使用的是 Ubuntu18.04,點(diǎn)擊 Apply,重啟Docker desktop for Windows。
重啟完成后就可以在 WSL2里面使用 docker 命令了。
# 檢查dockerd進(jìn)程啟動(dòng) service docker status ps aux|grep docker # 查看 Docker 版本 docker version # 檢查拉取鏡像等正常 docker pull mysql docker images
FAQ
原生 Linux 安裝 Docker 方式,Docker 無法實(shí)現(xiàn)開機(jī)自啟和每次 WSL
啟動(dòng)Ip會(huì)發(fā)生變換
每次重啟電腦后給 wsl2 分配的 IP 一般都會(huì)變動(dòng),我們要連接子系統(tǒng)內(nèi)部的應(yīng)用頻繁換 IP 會(huì)很麻煩,參照別人的解決方法,可以給 Ubuntu 子系統(tǒng)中添加一個(gè)新的網(wǎng)卡來給宿主機(jī)連接用。
1.查看安裝的是哪個(gè)子系統(tǒng)發(fā)行版本
C:\Users\cdavid>wsl -l 適用于 Linux 的 Windows 子系統(tǒng)分發(fā)版: Ubuntu-18.04 (默認(rèn))
2.在子系統(tǒng)中創(chuàng)建 init.wsl
sudo vim /etc/init.wsl
輸入以下內(nèi)容
#network static ip ip addr add 192.168.50.28/24 broadcast 192.168.50.255 dev eth0 label eth0:1 #docker start service docker start
給文件進(jìn)行授權(quán)
sudo chmod +x /etc/init.wsl
3.在 Windows 創(chuàng)建 bat 腳本,輸入以下內(nèi)容,放在 C 盤目錄下(哪里都想,不要隨手刪了就行)。
# 初始化腳本,注意這是 Ubuntu-18.04 和你的發(fā)行版本對(duì)應(yīng) wsl -d Ubuntu-18.04 -u root /etc/init.wsl # 添加一個(gè)網(wǎng)卡 netsh interface ip add address "vEthernet (WSL)" 192.168.50.93 255.255.255.0
在Windows下 輸入快捷鍵 WIN+R 打開運(yùn)行窗口,輸入 shell:startup,該目錄下新建 ubuntu.vbs。
set ws=WScript.CreateObject("WScript.Shell") ws.Run "C:\wsl2-start.bat",0
進(jìn)入子系統(tǒng),輸入ifconfig
, 以后 192.168.50.28
就是 WSL 的固定 IP 地址了。
進(jìn)入子系統(tǒng),輸入ifconfig
, 以后 192.168.50.28
就是 WSL 的固定 IP 地址了。