目錄
- 一、安裝 WSL 先決條件
- 二、安裝 Docker 前的準備
- 三、Windows 安裝 Docker
一、安裝 WSL 先決條件
必須運行 Windows 10 版本 2004 及更高版本(內部版本 19041 及更高版本)或 Windows 11。(來自官網的說明)
二、安裝 Docker 前的準備
控制面板->程序和功能->啟用或關閉Windows功能->勾選 適用于Linux的Windows子系統
重啟電腦
打開應用商城搜索 WSL ,可根據自己需求選擇安裝 Linux 發行版,我這里選擇 Ubuntu18.04
安裝完成后可在開始菜單里找到快捷方式并啟動,第一次運行需要等待安裝并設置用戶名、密碼。
開始更換國內鏡像源(注意:如果你選擇的不是 Ubuntu18.04,這一步不太一樣)
WSL 默認源的服務器地址在國外,速度很慢,強烈建議使用國內源,而不同 Linux 發行版鏡像源文件地址不一樣,比如 Ubuntu 是在 /etc/apt/sources.list
,Centos 是在/etc/yum.repos.d/CentOS-Base.repo
,同一 Linux 發行版的不同版本使用的源文件倉庫地址也是不一樣,這點需要注意。
如果是新手小白朋友,WSL 換源操作可以參考這篇文章:教你如何將WSL系統更換國內源?+固定路徑+國內鏡像源+詳細教程
進入終端,輸入以下命令
# 切換到源路徑 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 也專門開發了可以使用 WSL2
中的 Docker
守護進程的桌面管理程序, 打開 Docker Desktop WSL2 backend 頁面,下載最新的 Docker Desktop for Windows 程序 ,建議下載stable版本。下載地址為:https://www.docker.com/products/docker-desktop
確保 WSL 內的 Dokcer 已經被卸載,在 Linux 子系統執行以下命令
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 發行版中訪問 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 無法實現開機自啟和每次 WSL
啟動Ip會發生變換
每次重啟電腦后給 wsl2 分配的 IP 一般都會變動,我們要連接子系統內部的應用頻繁換 IP 會很麻煩,參照別人的解決方法,可以給 Ubuntu 子系統中添加一個新的網卡來給宿主機連接用。
1.查看安裝的是哪個子系統發行版本
C:\Users\cdavid>wsl -l 適用于 Linux 的 Windows 子系統分發版: Ubuntu-18.04 (默認)
2.在子系統中創建 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 創建 bat 腳本,輸入以下內容,放在 C 盤目錄下(哪里都想,不要隨手刪了就行)。
# 初始化腳本,注意這是 Ubuntu-18.04 和你的發行版本對應 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
進入子系統,輸入ifconfig
, 以后 192.168.50.28
就是 WSL 的固定 IP 地址了。
進入子系統,輸入ifconfig
, 以后 192.168.50.28
就是 WSL 的固定 IP 地址了。