詳解Windows?利用?WSL2?安裝?Docker?的2種方式
一、安裝 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è)置用戶名、密碼。
開始更換國內(nèi)鏡像源(注意:如果你選擇的不是 Ubuntu18.04,這一步不太一樣)
WSL 默認(rèn)源的服務(wù)器地址在國外,速度很慢,強(qiáng)烈建議使用國內(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)更換國內(nèi)源?+固定路徑+國內(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 地址了。
到此這篇關(guān)于Windows 利用 WSL2 安裝 Docker 的2種方式的文章就介紹到這了,更多相關(guān)WSL2 安裝 Docker內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Docker容器內(nèi)不能聯(lián)網(wǎng)的6種解決方案
今天小編就為大家分享一篇關(guān)于Docker容器內(nèi)不能聯(lián)網(wǎng)的6種解決方案,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧2018-10-10Docker Cloud實(shí)現(xiàn)部署應(yīng)用操作詳解
這篇文章主要介紹了Docker Cloud實(shí)現(xiàn)部署應(yīng)用操作,較為詳細(xì)的分析了Docker Cloud部署應(yīng)用的步驟、命令、實(shí)現(xiàn)方法及相關(guān)操作注意事項(xiàng),需要的朋友可以參考下2018-06-06關(guān)于docker部署的jenkins跑git上的程序的問題
這篇文章主要介紹了docker部署的jenkins跑git上的程序的相關(guān)知識(shí),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-11-11生產(chǎn)環(huán)境中安全運(yùn)行Docker容器
本文是一篇譯文,給大家詳細(xì)介紹如何在生產(chǎn)環(huán)境中安全運(yùn)行Docker容器,有需要的小伙伴可以參考下2017-01-01Docker拉取鏡像失敗解決(connect: connection refused)
最近遇到Docker拉取centos鏡像時(shí)報(bào)錯(cuò),本文主要介紹了Docker拉取鏡像失敗解決(connect: connection refused),具有一定的參考價(jià)值,感興趣的可以了解一下2024-07-07Docker搭建簡(jiǎn)單的應(yīng)用棧與容器Hello World訪問詳解
這篇文章主要介紹了Docker搭建簡(jiǎn)單的應(yīng)用棧與容器Hello World訪問,結(jié)合實(shí)例形式詳細(xì)分析了Docker應(yīng)用容器棧的獲取、互聯(lián)、啟動(dòng)、配置以及應(yīng)用訪問測(cè)試相關(guān)操作技巧,需要的朋友可以參考下2018-06-06