windows10下安装docker且使用wsl2安装双系统并构建最小jre镜像和应用镜像
1.?緣由
? ? ? ? 由于幾年前我剛開(kāi)始接觸docker這個(gè)東西就覺(jué)得是挺神奇挺好用挺奈斯的一個(gè)創(chuàng)造性產(chǎn)品,它的思想是:“以此構(gòu)建,到處運(yùn)行”,真的是很方便,給開(kāi)發(fā)和運(yùn)維帶來(lái)了很大的便利性,同時(shí)也是極大地簡(jiǎn)化部署難度,同時(shí)也帶來(lái)了很大的效率提升,屏蔽了部署環(huán)境的差異引發(fā)的開(kāi)發(fā)、運(yùn)維之間的相互吐槽和刷鍋行為,提升團(tuán)隊(duì)迭代開(kāi)發(fā)效率,同時(shí)讓生產(chǎn)效率也大大提高了,俗話說(shuō):”興趣是最好的老師”,所以作者就開(kāi)始了docker的學(xué)習(xí)實(shí)踐之路,我相信云原生是未來(lái)軟件架構(gòu)的方向和標(biāo)配,也是大勢(shì)所趨。
? ? ? ?剛開(kāi)始由于不熟悉的情況下然后去各種查閱了一些資料,最后使用公司給我配置的docker電腦和我自己的電腦嘗試從安裝docker開(kāi)始學(xué)習(xí)它,也踩了很多的坑看了大量的資料文檔,付出一定的實(shí)踐和嘗試,之前就遇到一個(gè)很奇葩的問(wèn)題,使用公司的電腦和自己的電腦安裝docker一直無(wú)法使用打開(kāi)還報(bào)了一個(gè)很奇葩的錯(cuò)誤,后面還是沒(méi)有得以解決,最后作者還在docker的github上提了一個(gè)bug,后面收到了回復(fù),后面就沒(méi)有管了,由于之前的這個(gè)bug就讓我覺(jué)得在windows環(huán)境安裝docker并使用確實(shí)是不好用,或許是當(dāng)時(shí)的那個(gè)版本確實(shí)是有bug,自己的電腦的windows系統(tǒng)不兼容導(dǎo)致,所以本文使用的windows10版本
2.?準(zhǔn)備工作
? ? ? ? ?2.1Docker Desktop?官方下載地址:?https://hub.docker.com/editions/community/docker-ce-desktop-windows
? ? ? ? ?2.2升級(jí)wsl2
通常需要把wsl1升級(jí)到wsl2,查看wsl版本的命令?wsl -l -v,發(fā)現(xiàn)版本還是wsl1。下載鏈接:https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi
? ? ? ? ?2.3WSL是什么?
適用于?Linux?的?Windows?子系統(tǒng)?(WSL)?可讓開(kāi)發(fā)人員直接在?Windows?上按原樣運(yùn)行?GNU/Linux?環(huán)境(包括大多數(shù)命令行工具、好用的工具和應(yīng)用程序),且不會(huì)產(chǎn)生傳統(tǒng)虛擬機(jī)或雙啟動(dòng)設(shè)置開(kāi)銷。
3.?環(huán)境配置準(zhǔn)備
? ? ? 3.1電腦環(huán)境配置:
??
? ?3.2查看當(dāng)前win10版本是不是最新版,如果不是則升級(jí)到最新版
查看當(dāng)前版本,win+r打開(kāi)運(yùn)行窗口輸入"winver"
3.3進(jìn)入“程序和功能”,確認(rèn)對(duì)應(yīng)功能已勾選
說(shuō)明window10操作系統(tǒng)上安裝docker需要開(kāi)啟虛擬化的支持
3.4查看虛擬化是否開(kāi)啟
4.?安裝步驟
注意:請(qǐng)以管理員身份打開(kāi)?PowerShell 工具并運(yùn)行以下命令
使用?wsl -l -v命令查看本地所有可以用的Linux發(fā)行版本
? ?如果執(zhí)行啥也沒(méi)有就返回一個(gè)wsl的help的幫助使用打印說(shuō)明你電腦上沒(méi)有安裝WSL支持的Linux發(fā)行版本,所以就必須去安裝Linux發(fā)行版本
?? ?4.1啟用?WSL 2
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart? ? ?4.2啟用“虛擬機(jī)平臺(tái)”
要在 Windows 10上啟用虛擬機(jī)平臺(tái),請(qǐng)以管理員身份打開(kāi) PowerShell 并運(yùn)行:dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart 要在 Windows 10上啟用虛擬機(jī)平臺(tái),請(qǐng)以管理員身份打開(kāi) PowerShell 并運(yùn)行:Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform -NoRestart? ? 4.3設(shè)置?WSL 2?為默認(rèn)值
? 以管理員身份打開(kāi)?PowerShell,然后運(yùn)行以下命令以將?WSL 2?設(shè)置為?WSL?的默認(rèn)版本:
wsl --set-default-version 2
? 4.4安裝?Linux?發(fā)行版
? ?安裝Linux發(fā)行版本的方法用兩種:
? ? ? 4.4.1 windows的應(yīng)用商店中
由于我的電腦是公司的臺(tái)式機(jī),所以由于網(wǎng)絡(luò)問(wèn)題,應(yīng)用商店打不開(kāi),所以我才有下面的方式安裝
4.4.2Windows10內(nèi)置Linux子系統(tǒng)(WSL)鏡像導(dǎo)入安裝發(fā)行版系統(tǒng)
? 參看:https://www.cnblogs.com/RainFate/p/15744830.html#_label0
? ??4.4.2.1獲取發(fā)行版的tar文件:(這里以centos7.9為例子)??
# 拉取centos 鏡像docker pull centos:centos7.9.2009# 創(chuàng)建容器,docker run [imageId] # 列出所有容器找到centOS 的容器IDdocker ps -a# 導(dǎo)出容器生成tar文件docker export -o ./centos.tar [containerId]??4.4.2.2# PowerShell運(yùn)行?
#?導(dǎo)入發(fā)行版到wsl,命令格式:wsl --import <DistroName>?<InstallLocation>?<InstallTarFile>wsl --import CentOS "D:\Program Files (x86)\Centos7" "F:\DownLoad\centos.tar"# 查看安裝的wsl wsl -l -v# 啟動(dòng)并進(jìn)入該系統(tǒng)wsl -d CentOS# 指定默認(rèn)的發(fā)行版wsl -s CentOS# 關(guān)閉相關(guān)實(shí)例wsl --terminate?CentOS# 卸載發(fā)行版wsl --unregister CentOS4.4.2.3更新yum
yum update -y4.4.2.4添加特定用戶:略過(guò)---這里不配置默認(rèn)使用root用戶
?4.4.2.5啟動(dòng)發(fā)行版
wsl -d CentOS4.5為安裝的Linux發(fā)行版設(shè)置WSL的版本為2
wsl --set-version CentOS 25.安裝Docker Desktop配置
注意:此方法僅適用于?Windows 10?操作系統(tǒng)專業(yè)版、企業(yè)版、教育版和部分家庭版!
電腦網(wǎng)絡(luò)最好不要使用公司網(wǎng)絡(luò),因?yàn)楣揪W(wǎng)絡(luò)有安全策略限制,否則Docker Desktop軟件安裝啟動(dòng)打開(kāi)界面一直在卡著轉(zhuǎn)圈圈,這就很尷尬,所以使用家庭網(wǎng)絡(luò)或者使用自己手機(jī)開(kāi)一個(gè)熱點(diǎn)鏈接就可以出現(xiàn)如下界面:
資源配置:啟用Linux發(fā)行版配置和開(kāi)啟wsl2的系統(tǒng)勾選上即可:
這里的選擇Linux發(fā)行版的資源選擇配置看上面----4.4安裝?Linux?發(fā)行版,安裝之后即可在這里選擇到了
配置自己的阿里云鏡像倉(cāng)庫(kù)地址:
參看:https://www.cjavapy.com/article/2089/
注意:如果你不配置這個(gè)加速地址上面使用docker拉取一個(gè)centOs7.9的鏡像就會(huì)超時(shí)拉取不下來(lái),docker安裝的時(shí)候,不管是windo10安裝docker還是在vm虛擬機(jī)上安裝docker都要配置這個(gè)加速地址,你可以選擇其它國(guó)內(nèi)的加速地址,只要網(wǎng)絡(luò)能通,可以拉取到就可以了,只是我覺(jué)得阿里云的這個(gè)好用,還有免費(fèi)的個(gè)人docker鏡像倉(cāng)庫(kù)可以使用,就很方便的,配置了這個(gè)配置方便我們pull一些docker鏡像,不讓由于網(wǎng)路問(wèn)題拉取不到你想要的鏡像而超時(shí),或者你知道如何翻墻,這個(gè)另當(dāng)別論。
6.?構(gòu)建最小jre鏡像和應(yīng)用鏡像
Win+R輸入cmd以管理方式運(yùn)行,事先準(zhǔn)備好以下文件:
Dockerfile_jre1.8.0_271.txt:構(gòu)建最小jre8鏡像的dockerfile的文件
Dockerfile.txt:構(gòu)建業(yè)務(wù)鏡像含有最小jre8的鏡像和skywaliking-agent探針的業(yè)務(wù)基礎(chǔ)鏡像可以在java微服務(wù)項(xiàng)目中直接引入,skywaliking-agent這個(gè)的使用請(qǐng)參看我的文章:
https://mp.weixin.qq.com/s/RrM-0P0bTY1yN5qlOGgUqw
5.1構(gòu)建最小jre8
Dockerfile_jre1.8.0_271.txt內(nèi)容如下:
執(zhí)行:docker build -f Dockerfile_jre1.8.0_271.txt -t zlf:jre8 .?5.2構(gòu)建業(yè)務(wù)基礎(chǔ)鏡像
Dockerfile.txt內(nèi)容如下:
執(zhí)行:docker build -f Dockerfile.txt -t zlf:jre8 .上面兩步驟執(zhí)行結(jié)果:
可以將這個(gè)兩個(gè)鏡像推送到自己的阿里云鏡像倉(cāng)庫(kù)
總結(jié)
以上是生活随笔為你收集整理的windows10下安装docker且使用wsl2安装双系统并构建最小jre镜像和应用镜像的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 上海亚商投顾:沪指高开高走涨1.31%
- 下一篇: 复数三种表示形式