[後端及伺服器][WSL2(Ubuntu)+Docker]從零開始在WSL中安裝Docker

ChaosBlog發表於2021-11-14

簡介

想花三篇文章寫下從Windows(WSL)上開啟Docker部署php/node/vue/html等專案並上傳到雲的全過程,儘量通俗易懂,把問題都復現一下。
這是第一篇,先在本地Windows環境下安裝WSL並在WSL內安裝Docker(套娃開始)。
本篇使用的終端是PowerShell(Windows Terminal),用其它也應該不影響,注意管理員模式開啟。

剩下兩篇完成後會在這給連結。
第二篇:Docker內環境部署(未完成)
第三篇:把Docker部署到雲端(未完成)

WSL 安裝

?官方文件

準備工作

開啟虛擬化(BIOS)

有的是預設開啟的,莽夫可以直接跳過。
第一步:進入BIOS設定
第二步:

CPU 方法
Intel 將Intel(VMX) Virtualization Technology開啟
AMD 將 AMD-v開啟

檢查系統版本

版本要求:Windows 10 version 2004 高於 (Build 19041 以上) 或者 Windows 11
檢查版本 + 開啟執行皮膚,輸入winver後回車
[後端及伺服器][WSL2(Ubuntu)+Docker]從零開始在WSL中安裝Docker

安裝WSL

?官方文件

?老版本安裝詳情

⚠ 前排提醒 涉及到重啟計算機 ⚠

  1. 部署映像服務和管理工具
    dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart

  2. 啟用虛擬機器平臺可選功能
    dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

  3. 重啟計算機

  4. 下載Linux核心更新程式包
    點選下載,下載後點開後直接秒安裝。

  5. 下載Linux分發版本並啟動
    在微軟應用商店搜尋WSL,下載Ubuntu20.04 TLS並啟動
    [後端及伺服器][WSL2(Ubuntu)+Docker]從零開始在WSL中安裝Docker
    啟動後配置使用者名稱和密碼即可
    [後端及伺服器][WSL2(Ubuntu)+Docker]從零開始在WSL中安裝Docker

  6. 設定預設版本為WSL2
    wsl --set-default-version 2
    設定失敗的解決方案:(設定成功請直接跳過下面的abcde,看第7條
    a. 先在控制面版 功能 中開啟Hyper-V
    [後端及伺服器][WSL2(Ubuntu)+Docker]從零開始在WSL中安裝Docker
    b. 確保BIOS開啟虛擬化(可以網上搜一下自己電腦怎麼開的)
    c. 執行bcdedit /set hypervisorlaunchtype auto (和其它虛擬機器衝突問題)
    d. 本地組策略配置(win+r 執行gpedit.msc
    [後端及伺服器][WSL2(Ubuntu)+Docker]從零開始在WSL中安裝Docker
    e. 關於BIOS沒有VT配置的(比如小米那精簡的BIOS...),開啟控制皮膚-程式和功能-啟用或關閉Windows功能-(裡面可以找到)Windows虛擬機器監控程式平臺(勾選確定)
    [後端及伺服器][WSL2(Ubuntu)+Docker]從零開始在WSL中安裝Docker

  7. 將已安裝的系統由WSL轉成WSL2
    wsl -l -v檢查版本
    wsl --set-version Ubuntu-20.04 2轉換
    [後端及伺服器][WSL2(Ubuntu)+Docker]從零開始在WSL中安裝Docker
    參考WSL基本命令

  8. 進入終端
    wsl

    至此,WSL已經安裝完成了。

Docker安裝

WSL2相比WSL1來說可以完美支援Docker。與WSL1的模擬Linux API不同的是,WSL2採用在Hyper-V虛擬機器中執行的方案。

更換映象源

vim /etc/apt/sources.list
將該檔案內容替換為如下

deb http://mirrors.aliyun.com/ubuntu/ focal main restricted
deb http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted
deb http://mirrors.aliyun.com/ubuntu/ focal universe
deb http://mirrors.aliyun.com/ubuntu/ focal-updates universe
deb http://mirrors.aliyun.com/ubuntu/ focal multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-updates multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-security main restricted
deb http://mirrors.aliyun.com/ubuntu/ focal-security universe
deb http://mirrors.aliyun.com/ubuntu/ focal-security multiverse

相關文章