詳解Windows?利用?WSL2?安裝?Docker?的2種方式
一、安裝 WSL 先決條件
必須運行 Windows 10 版本 2004 及更高版本(內部版本 19041 及更高版本)或 Windows 11。(來自官網的說明)

二、安裝 Docker 前的準備
控制面板->程序和功能->啟用或關閉Windows功能->勾選 適用于Linux的Windows子系統(tǒng)

重啟電腦
打開應用商城搜索 WSL ,可根據(jù)自己需求選擇安裝 Linux 發(fā)行版,我這里選擇 Ubuntu18.04

安裝完成后可在開始菜單里找到快捷方式并啟動,第一次運行需要等待安裝并設置用戶名、密碼。

開始更換國內鏡像源(注意:如果你選擇的不是 Ubuntu18.04,這一步不太一樣)
WSL 默認源的服務器地址在國外,速度很慢,強烈建議使用國內源,而不同 Linux 發(fā)行版鏡像源文件地址不一樣,比如 Ubuntu 是在 /etc/apt/sources.list,Centos 是在/etc/yum.repos.d/CentOS-Base.repo ,同一 Linux 發(fā)行版的不同版本使用的源文件倉庫地址也是不一樣,這點需要注意。
如果是新手小白朋友,WSL 換源操作可以參考這篇文章:教你如何將WSL系統(tǒng)更換國內源?+固定路徑+國內鏡像源+詳細教程
進入終端,輸入以下命令
# 切換到源路徑 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
換源之后,進行更新
# 更新源 sudo apt update # 更新軟件包 sudo apt upgrade
三、Windows 安裝 Docker
Windows 安裝 Docker 方式分為兩種,二選一即可
1. 原生 Linux 安裝 Docker 方式
進入之前安裝好的 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
最后一個步驟,啟動 Docker daemon。但是此處有一個問題,WSL2 經過測試無法使用systemctl命令因此我們使用 service 命令啟動 Docker daemon。命令如下所示:
sudo service docker start
至此,Docker 在WSL2下安裝完畢。
檢查 Docker 安裝是否正常,可輸入以下命令進行檢查。
# 檢查dockerd進程啟動 service docker status ps aux|grep docker # 查看 Docker 版本 docker version # 檢查拉取鏡像是否正常 docker pull mysql docker images
2. Docker Desktop for windows方式
Docker 也專門開發(fā)了可以使用 WSL2 中的 Docker 守護進程的桌面管理程序, 打開 Docker Desktop WSL2 backend 頁面,下載最新的 Docker Desktop for Windows 程序 ,建議下載stable版本。下載地址為:https://www.docker.com/products/docker-desktop
確保 WSL 內的 Dokcer 已經被卸載,在 Linux 子系統(tǒng)執(zhí)行以下命令
sudo apt remove docker-ce sudo apt remove docker-ce-cli
啟動Docker Desktop for Windows,選擇 Settings --> General,啟動基于WSL2的引擎復選框(Use the WSL 2 based engine)

在 Resources 的WSL Integration中設置要從哪個 WSL2 發(fā)行版中訪問 Docker,如下圖使用的是 Ubuntu18.04,點擊 Apply,重啟Docker desktop for Windows。

重啟完成后就可以在 WSL2里面使用 docker 命令了。
# 檢查dockerd進程啟動 service docker status ps aux|grep docker # 查看 Docker 版本 docker version # 檢查拉取鏡像等正常 docker pull mysql docker images
FAQ
原生 Linux 安裝 Docker 方式,Docker 無法實現(xiàn)開機自啟和每次 WSL 啟動Ip會發(fā)生變換
每次重啟電腦后給 wsl2 分配的 IP 一般都會變動,我們要連接子系統(tǒng)內部的應用頻繁換 IP 會很麻煩,參照別人的解決方法,可以給 Ubuntu 子系統(tǒng)中添加一個新的網卡來給宿主機連接用。
1.查看安裝的是哪個子系統(tǒng)發(fā)行版本
C:\Users\cdavid>wsl -l 適用于 Linux 的 Windows 子系統(tǒng)分發(fā)版: Ubuntu-18.04 (默認)
2.在子系統(tǒng)中創(chuàng)建 init.wsl
sudo vim /etc/init.wsl
輸入以下內容
#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
給文件進行授權
sudo chmod +x /etc/init.wsl
3.在 Windows 創(chuàng)建 bat 腳本,輸入以下內容,放在 C 盤目錄下(哪里都想,不要隨手刪了就行)。
# 初始化腳本,注意這是 Ubuntu-18.04 和你的發(fā)行版本對應 wsl -d Ubuntu-18.04 -u root /etc/init.wsl # 添加一個網卡 netsh interface ip add address "vEthernet (WSL)" 192.168.50.93 255.255.255.0
在Windows下 輸入快捷鍵 WIN+R 打開運行窗口,輸入 shell:startup,該目錄下新建 ubuntu.vbs。
set ws=WScript.CreateObject("WScript.Shell")
ws.Run "C:\wsl2-start.bat",0進入子系統(tǒng),輸入ifconfig, 以后 192.168.50.28 就是 WSL 的固定 IP 地址了。

進入子系統(tǒng),輸入ifconfig, 以后 192.168.50.28 就是 WSL 的固定 IP 地址了。
到此這篇關于Windows 利用 WSL2 安裝 Docker 的2種方式的文章就介紹到這了,更多相關WSL2 安裝 Docker內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Docker拉取鏡像失敗解決(connect: connection refused)
最近遇到Docker拉取centos鏡像時報錯,本文主要介紹了Docker拉取鏡像失敗解決(connect: connection refused),具有一定的參考價值,感興趣的可以了解一下2024-07-07
Docker搭建簡單的應用棧與容器Hello World訪問詳解
這篇文章主要介紹了Docker搭建簡單的應用棧與容器Hello World訪問,結合實例形式詳細分析了Docker應用容器棧的獲取、互聯(lián)、啟動、配置以及應用訪問測試相關操作技巧,需要的朋友可以參考下2018-06-06

