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