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