本地開(kāi)發(fā)之痛苦
在開(kāi)發(fā)之前,首先你需要安裝各種開(kāi)發(fā)工具和服務(wù)支持到你的開(kāi)發(fā)環(huán)境當(dāng)中,可能會(huì)出依賴問(wèn)題,環(huán)境變量問(wèn)題,端口沖突,經(jīng)編譯庫(kù)問(wèn)題等等。
開(kāi)發(fā)途中,可能你又需要依賴一些其他的服務(wù),你最好祈禱不會(huì)出問(wèn)題,可能你又要重寫(xiě)來(lái)配置你的環(huán)境,因?yàn)槟愕乃械囊蕾嚪?wù)都在你的唯一的工作空間里面。
如果你的伙伴的操作系統(tǒng)不統(tǒng)一,可能你還會(huì)遇到一些不同元字符解析不一致的問(wèn)題。
然后上線之前,可能你在本地開(kāi)發(fā)調(diào)試都可以完美運(yùn)行,一但部署到服務(wù)器,就會(huì)出現(xiàn)各種問(wèn)題。因?yàn)榇蠖鄶?shù)情況下,我們的開(kāi)發(fā)環(huán)境和生產(chǎn)環(huán)境并不相同。
可能你下次又有要用到一個(gè)新的開(kāi)項(xiàng)目的開(kāi)發(fā)環(huán)境。你又要重復(fù)面對(duì)上面這些問(wèn)題.
你不得不去審視,你要話費(fèi)大量的時(shí)間用在搭建環(huán)境當(dāng)中來(lái)。
基于 Spring Boot + MyBatis Plus + Vue & Element 實(shí)現(xiàn)的后臺(tái)管理系統(tǒng) + 用戶小程序,支持 RBAC 動(dòng)態(tài)權(quán)限、多租戶、數(shù)據(jù)權(quán)限、工作流、三方登錄、支付、短信、商城等功能
什么是`Docker
Docker 是一個(gè)開(kāi)源的應(yīng)用容器引擎,讓開(kāi)發(fā)者可以打包他們的應(yīng)用以及依賴包到一個(gè)可移植的容器中,然后發(fā)布到任何流行的 Linux
機(jī)器上,也可以實(shí)現(xiàn)虛擬化。容器是完全使用沙箱機(jī)制,相互之間不會(huì)有任何接口。對(duì)我們而言,我覺(jué)得只需要把他理解成一個(gè)便攜的應(yīng)用容器 即可
基于 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)限、工作流、三方登錄、支付、短信、商城等功能
Docker`本地開(kāi)發(fā)環(huán)境的好處
試錯(cuò)
對(duì)開(kāi)發(fā)者而言,每天會(huì)催生出的各式各樣的新技術(shù)都需要嘗試,然而開(kāi)發(fā)者卻不太可能為他們一一搭建好環(huán)境并進(jìn)行測(cè)試。時(shí)間非常寶貴,正是得益于 Docker
,讓我們有可能在一條或者幾條命令內(nèi)就搭建完環(huán)境,而且這個(gè)環(huán)境大到一個(gè)特定版本的操作系統(tǒng),小到一個(gè)軟件。Docker 有一個(gè)傻瓜化的獲取軟件的方法,Docker
后臺(tái)會(huì)自動(dòng)獲得環(huán)境鏡像并且運(yùn)行環(huán)境。
統(tǒng)一開(kāi)發(fā)和生產(chǎn)環(huán)境
對(duì)于一般的小公司來(lái)說(shuō),搭建一個(gè)公用的開(kāi)發(fā)環(huán)境是一件不那么劃算的事情。那么就可以用Docker
來(lái)統(tǒng)一開(kāi)發(fā)環(huán)境,因?yàn)椴还苣阌玫氖?code>Windows、Mac
還是 Ubuntu
。如果生產(chǎn)環(huán)境也使用的Docker
的話,你甚至可以直接打包一套環(huán)境,直接丟上去就可以運(yùn)行了,再也不用擔(dān)心開(kāi)發(fā)-生產(chǎn)環(huán)境之間的差異了。
高性能
虛擬機(jī)的粒度是虛擬出的機(jī) ,而Docker
的粒度則是被限制的應(yīng)用 ,相比較而言 Docker 的內(nèi)存占用更少,更加輕量級(jí),性能也更優(yōu)。
而秒級(jí)的啟動(dòng),也可以讓我們啟動(dòng)電腦時(shí)候,開(kāi)發(fā)環(huán)境的運(yùn)行是無(wú)感知的。
成果展示
我們可能經(jīng)常要給用戶或者是同事展示一樣功能的,但是搭建演示環(huán)境的過(guò)程卻是非常麻煩的?,F(xiàn)在可以直接將我們的鏡像打包丟過(guò)去,而不必去做任何環(huán)境配置的工作,同時(shí)也不必?fù)?dān)心他們的環(huán)境配置會(huì)導(dǎo)致我們的產(chǎn)品無(wú)法運(yùn)行。
安裝`Docker
在mac
平臺(tái)下,就是去下載一個(gè)dmg
的安裝文件。下載好了之后,雙擊,然后拖入就可以了,windows
應(yīng)該也是類似的。
就是安裝qq
一樣簡(jiǎn)單,傻瓜式的。
附上dockerhub
上的下載鏈接:
https://hub.docker.com/search/?type=edition&offering=community&q=
成功之后屬于docker version
如果出來(lái)版本信息就是安裝成功,類似如下
Client: Docker Engine - Community
Version: 18.09.0
API version: 1.39
Go version: go1.10.4
Git commit: 4d60db4
Built: Wed Nov 7 00:47:43 2018
OS/Arch: darwin/amd64
Experimental: false
Server: Docker Engine - Community
Engine:
Version: 18.09.0
API version: 1.39 (minimum version 1.12)
Go version: go1.10.4
Git commit: 4d60db4
Built: Wed Nov 7 00:55:00 2018
OS/Arch: linux/amd64
Experimental: true
安裝`docker-composer
一般來(lái)說(shuō),mac安裝docker
之后就會(huì)攜帶docker-composer
。
其他平臺(tái),附上下載鏈接:
https://github.com/docker/compose/releases
安裝完成之后可以輸入命令檢測(cè)
? ~ docker-compose version
docker-compose version 1.23.2, build 1110ad01
docker-py version: 3.6.0
CPython version: 3.6.6
OpenSSL version: OpenSSL 1.1.0h 27 Mar 2018
如果沒(méi)有出現(xiàn)版本相關(guān)信息,可以嘗試再次安裝
下載laradock
laradock
的項(xiàng)目地址是https://github.com/laradock/laradock
我們找一個(gè)地方clone
下來(lái)即可
我這里是在我的用戶目錄下面新建了一個(gè)Docker
目錄,然后clone
了項(xiàng)目下來(lái)
-
開(kāi)發(fā)
+關(guān)注
關(guān)注
0文章
357瀏覽量
40734 -
開(kāi)源
+關(guān)注
關(guān)注
3文章
3126瀏覽量
42068 -
Docker
+關(guān)注
關(guān)注
0文章
446瀏覽量
11738
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論