運(yùn)行你的第一個(gè)容器
以前要在本地跑一些有意思的工程和實(shí)驗(yàn),都需要通過(guò)在本地裝上一大堆軟件來(lái)實(shí)現(xiàn)。最近發(fā)現(xiàn)有一種更酷的方式:Docker。
用Docker在本地搭建開(kāi)發(fā)環(huán)境有一系列顯而易見(jiàn)的優(yōu)勢(shì):
不用依賴公司的資源,開(kāi)發(fā)機(jī)資源夠夠的,環(huán)境完整可控,想怎么玩怎么玩,不用擔(dān)心留痕也完全不會(huì)影響別人
能夠使用標(biāo)準(zhǔn)化的鏡像屏蔽掉一切安裝過(guò)程的坑,不用擔(dān)心安裝過(guò)程中出現(xiàn)的各種亂七八糟的報(bào)錯(cuò)
虛擬環(huán)境想用即用,不想用了隨時(shí)丟掉,不用操心清理起來(lái)很麻煩
鏡像的安裝方式大大降低了安裝門(mén)檻,而且在虛擬環(huán)境跑服務(wù)完全沒(méi)有任何心理門(mén)檻,終于可以在本地把想安裝的中間件或者服務(wù)跑全了
酷,重點(diǎn)是酷
Docker 搭建的環(huán)境為什么能做到以上優(yōu)勢(shì)
道理其實(shí)很簡(jiǎn)單,使用 Docker Desktop 在本地起一個(gè)虛擬機(jī),然后在虛擬機(jī)里跑Docker。這樣所有的安裝和啟停變更都發(fā)生在虛擬環(huán)境里,自然而然的就帶來(lái)了以上優(yōu)勢(shì)。
基于 Spring Boot + MyBatis Plus + Vue & Element 實(shí)現(xiàn)的后臺(tái)管理系統(tǒng) + 用戶小程序,支持 RBAC 動(dòng)態(tài)權(quán)限、多租戶、數(shù)據(jù)權(quán)限、工作流、三方登錄、支付、短信、商城等功能
項(xiàng)目地址:https://github.com/YunaiV/ruoyi-vue-pro
視頻教程:https://doc.iocoder.cn/video/
安裝基礎(chǔ)環(huán)境
下載 Docker Desktop,安裝過(guò)程踩了兩個(gè)雷:
WSL2 Linux 內(nèi)核更新包
DockerDesktoprequiresanewerWSLkernelversion
這個(gè)報(bào)錯(cuò)是字面意思,需要更新內(nèi)核版本。下載 WSL2 Linux 內(nèi)核更新包即可:
https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi
Docker容器運(yùn)行需要依賴虛擬化
HardwareassistedvirtualizationanddataexecutionprotectionmustbeenabledintheBIOS
這個(gè)報(bào)錯(cuò)是因?yàn)锽IOS里沒(méi)有把對(duì)虛擬化的支持打開(kāi),重啟進(jìn)入BIOS,打開(kāi)虛擬化相關(guān)配置即可。
基于 Spring Cloud Alibaba + Gateway + Nacos + RocketMQ + Vue & Element 實(shí)現(xiàn)的后臺(tái)管理系統(tǒng) + 用戶小程序,支持 RBAC 動(dòng)態(tài)權(quán)限、多租戶、數(shù)據(jù)權(quán)限、工作流、三方登錄、支付、短信、商城等功能
項(xiàng)目地址:https://github.com/YunaiV/yudao-cloud
視頻教程:https://doc.iocoder.cn/video/
運(yùn)行你的第一個(gè)容器
安裝完畢之后就可以用了。Docker Desktop 的首頁(yè)非常簡(jiǎn)潔明了。
Guides里有三個(gè)示例,大大的 Run,點(diǎn)下去就可以快捷的體驗(yàn)本地服務(wù)了。
這里我們啟動(dòng)Nginx試試。
切換到Terminal Tab可以對(duì)容器發(fā)出指令
這種起服務(wù)的方式,我覺(jué)得比以前挨個(gè)安裝軟件的方式確實(shí)爽太多了。
至此 Docker 所需的環(huán)境已經(jīng)搭建成功了,但是距離我們搭建一個(gè)很酷的本地開(kāi)發(fā)環(huán)境還差得遠(yuǎn)。因?yàn)檫€有一連串的問(wèn)題等著我們。
比如我們?cè)偕钊胪嬉幌聞偛艈?dòng)的 Nginx 容器,就會(huì)發(fā)現(xiàn)有很多指令找不到,這對(duì)于我們?cè)诒镜卣{(diào)試是不可接受的。
再比如需要部署到 Nginx 的制品如何與本地文件映射,本地啟動(dòng)多個(gè)依賴服務(wù)時(shí)網(wǎng)絡(luò)與端口如何管理。以及針對(duì)不同的本地開(kāi)發(fā)所需要依賴的資源和服務(wù),可能需要通過(guò)自行build docker file的方式才能讓他們?cè)诒镜赜闷饋?lái)更加絲滑和酷炫。這些問(wèn)題,我們留到后文再續(xù)。
你在本地做開(kāi)發(fā)的時(shí)候,是怎么搭建和管理自己的環(huán)境呢?歡迎留言討論。
-
軟件
+關(guān)注
關(guān)注
69文章
4699瀏覽量
87088 -
鏡像
+關(guān)注
關(guān)注
0文章
160瀏覽量
10689 -
Docker
+關(guān)注
關(guān)注
0文章
453瀏覽量
11792
原文標(biāo)題:又炫了一把,用 Docker 搭建更酷的本地開(kāi)發(fā)環(huán)境
文章出處:【微信號(hào):芋道源碼,微信公眾號(hào):芋道源碼】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論