windows10下安裝docker且使用wsl2安裝雙系統(tǒng)并構(gòu)建最小jre鏡像和應(yīng)用鏡像
1.緣由
由于幾年前我剛開始接觸docker這個(gè)東西就覺(jué)得是挺神奇挺好用挺奈斯的一個(gè)創(chuàng)造性產(chǎn)品,它的思想是:“以此構(gòu)建,到處運(yùn)行”,真的是很方便,給開發(fā)和運(yùn)維帶來(lái)了很大的便利性,同時(shí)也是極大地簡(jiǎn)化部署難度,同時(shí)也帶來(lái)了很大的效率提升,屏蔽了部署環(huán)境的差異引發(fā)的開發(fā)、運(yùn)維之間的相互吐槽和刷鍋行為,提升團(tuán)隊(duì)迭代開發(fā)效率,同時(shí)讓生產(chǎn)效率也大大提高了,俗話說(shuō):”興趣是最好的老師”,所以作者就開始了docker的學(xué)習(xí)實(shí)踐之路,我相信云原生是未來(lái)軟件架構(gòu)的方向和標(biāo)配,也是大勢(shì)所趨。
剛開始由于不熟悉的情況下然后去各種查閱了一些資料,最后使用公司給我配置的docker電腦和我自己的電腦嘗試從安裝docker開始學(xué)習(xí)它,也踩了很多的坑看了大量的資料文檔,付出一定的實(shí)踐和嘗試,之前就遇到一個(gè)很奇葩的問(wèn)題,使用公司的電腦和自己的電腦安裝docker一直無(wú)法使用打開還報(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) 可讓開發(fā)人員直接在Windows上按原樣運(yùn)行 GNU/Linux 環(huán)境(包括大多數(shù)命令行工具、好用的工具和應(yīng)用程序),且不會(huì)產(chǎn)生傳統(tǒng)虛擬機(jī)或雙啟動(dòng)設(shè)置開銷。

3.環(huán)境配置準(zhǔn)備
3.1電腦環(huán)境配置:

3.2查看當(dāng)前win10版本是不是最新版,如果不是則升級(jí)到最新版

查看當(dāng)前版本,win+r打開運(yùn)行窗口輸入"winver"



3.3進(jìn)入“程序和功能”,確認(rèn)對(duì)應(yīng)功能已勾選

說(shuō)明window10操作系統(tǒng)上安裝docker需要開啟虛擬化的支持
3.4查看虛擬化是否開啟

4. 安裝步驟
注意:請(qǐng)以管理員身份打開 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)以管理員身份打開 PowerShell 并運(yùn)行:
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
要在 Windows 10上啟用虛擬機(jī)平臺(tái),請(qǐng)以管理員身份打開 PowerShell 并運(yùn)行:
Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform -NoRestart
4.3設(shè)置WSL 2為默認(rèn)值
以管理員身份打開 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)用商店打不開,所以我才有下面的方式安裝
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 的容器ID docker 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 CentOS
4.4.2.3更新yum
yum update -y
4.4.2.4添加特定用戶:略過(guò)---這里不配置默認(rèn)使用root用戶
4.4.2.5啟動(dòng)發(fā)行版
wsl -d CentOS

4.5為安裝的Linux發(fā)行版設(shè)置WSL的版本為2
wsl --set-version CentOS 2

5.安裝Docker Desktop配置
注意:此方法僅適用于 Windows 10 操作系統(tǒng)專業(yè)版、企業(yè)版、教育版和部分家庭版!
電腦網(wǎng)絡(luò)最好不要使用公司網(wǎng)絡(luò),因?yàn)楣揪W(wǎng)絡(luò)有安全策略限制,否則Docker Desktop軟件安裝啟動(dòng)打開界面一直在卡著轉(zhuǎn)圈圈,這就很尷尬,所以使用家庭網(wǎng)絡(luò)或者使用自己手機(jī)開一個(gè)熱點(diǎn)鏈接就可以出現(xiàn)如下界面:

資源配置:?jiǎn)⒂肔inux發(fā)行版配置和開啟wsl2的系統(tǒng)勾選上即可:

這里的選擇Linux發(fā)行版的資源選擇配置看上面----4.4安裝 Linux 發(fā)行版,安裝之后即可在這里選擇到了
配置自己的阿里云鏡像倉(cāng)庫(kù)地址:
參看:https://www.cjavapy.com/article/2089/



"registry-mirrors": [
"你自己的阿里云鏡像加速地址"
]注意:如果你不配置這個(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)目中直接引入

6.1構(gòu)建最小jre8
Dockerfile_jre1.8.0_271.txt內(nèi)容如下:

執(zhí)行:</code><code>docker build -f Dockerfile_jre1.8.0_271.txt -t zlf:jre8 .?
6.2構(gòu)建業(yè)務(wù)基礎(chǔ)鏡像
Dockerfile.txt內(nèi)容如下:

執(zhí)行:</code><code>docker build -f Dockerfile.txt -t zlf:jre8 .
上面兩步驟執(zhí)行結(jié)果:

可以將這個(gè)兩個(gè)鏡像推送到自己的阿里云鏡像倉(cāng)庫(kù)
以上就是windows10下安裝docker且使用wsl2安裝雙系統(tǒng)并構(gòu)建最小jre鏡像和應(yīng)用鏡像的詳細(xì)內(nèi)容,更多關(guān)于windows10下安裝docker和鏡像的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Docker如何打包本地環(huán)境為tar包給別人使用
這篇文章主要介紹了Docker如何打包本地環(huán)境為tar包給別人使用問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-11-11
Docker端口映射實(shí)現(xiàn)網(wǎng)絡(luò)訪問(wèn)的方法
本篇文章主要介紹了Docker端口映射實(shí)現(xiàn)網(wǎng)絡(luò)訪問(wèn)的方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-07-07
Docker安全開放遠(yuǎn)程訪問(wèn)連接權(quán)限方式
文章介紹了如何配置Docker以實(shí)現(xiàn)遠(yuǎn)程訪問(wèn)、開啟認(rèn)證和通信加密,包括生成證書和私鑰、配置Docker守護(hù)進(jìn)程以及在IDEA和Maven中連接Docker服務(wù)的方法2024-11-11
docker?build?-t?和?docker?build?-f?區(qū)別解析
docker build 是用于構(gòu)建Docker鏡像的命令,它允許你基于一個(gè)Dockerfile來(lái)創(chuàng)建一個(gè)鏡像,在 docker build 命令中,有兩個(gè)常用的選項(xiàng) -t 和 -f,它們有不同的作用,這篇文章主要介紹了docker?build?-t?和?docker?build?-f?區(qū)別,需要的朋友可以參考下2023-08-08
詳解docker 容器不自動(dòng)退出結(jié)束運(yùn)行的方法
本文主要簡(jiǎn)單介紹 docker 容器與前置進(jìn)程的關(guān)系,以及如何編寫 Dockerfile/docker-compose.yml 優(yōu)雅的讓容器可以常駐運(yùn)行。具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-01-01
使用Docker?Compose搭建部署ElasticSearch的配置過(guò)程
Elasticsearch使用的是一種名為倒排索引的數(shù)據(jù)結(jié)構(gòu),這一結(jié)構(gòu)的設(shè)計(jì)可以允許十分快速地進(jìn)行全文本搜索,本文重點(diǎn)給大家介紹使用Docker?Compose搭建部署ElasticSearch的配置過(guò)程,感興趣的朋友一起看看吧2022-02-02
詳解基于docker-swarm搭建持續(xù)集成集群服務(wù)
這篇文章主要介紹了詳解基于docker-swarm搭建持續(xù)集成集群服務(wù),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-10-10

