亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

老肖語錄 | 使用 Docker 做 CI 解惑

luffyZh / 2415人閱讀

摘要:年肖德時先生加入,擔(dān)任內(nèi)部工作組。老肖語錄是肖德時先生推出的個人公眾號欄目,他利用這個公眾號記錄自己創(chuàng)業(yè)路上的點點滴滴,不時會有精彩的技術(shù)感悟與分享,歡迎大家關(guān)注。

我今天看到一篇網(wǎng)友分享的 php 環(huán)境下的Docker持續(xù)集成案例。筆者大膽的試用后嘗到了容器技術(shù)的甜頭,也在文中提出了一個沒有解決的困惑。 原來他是把代碼放在容器外面,通過掛載目錄的方法把代碼加到容器里面運(yùn)行的。這樣雖然跑起來很快,但筆者感覺這和 Docker 的口號 build、ship、run 還是有很大的區(qū)別。當(dāng)然,他把代碼放在鏡像里,每次變動都需要花上十幾分鐘等鏡像build,push 到倉庫后才能run發(fā)布,這個過程筆者也接受不了。這個網(wǎng)友的疑惑是構(gòu)建鏡像本身拖慢了集成的速度,這和一般情況下采用新技術(shù)能提高生產(chǎn)力的故事在直覺上是說不通的。

我想提提自己的看法。首先,Docker鏡像本身是一個壓縮包,每次即使只改幾個文件,也需要把整個項目壓縮一遍,沒法增量壓縮。所以,如果你的開發(fā)過程中需要頻繁的改內(nèi)容的時候,用 Docker 先打鏡像再發(fā)布的流程就是一種反作用力,直接降低你的生產(chǎn)力。這個時候,你巧借 Docker 容器的環(huán)境一致性,直接把源碼掛載到容器里面運(yùn)行的做法應(yīng)該是一個好辦法。

我也意識到 Docker 對 CI這一塊并沒有考慮那么周到,還是需要我們自己來解決遇到的問題。比如本地的測試,可以考慮使用 vagrant 來解決,如下面的例子,很巧妙:

如果我們把 CI 的問題再擴(kuò)展到 CD,上面源碼是否放到鏡像里面,仍然有很多可以討論的地方。對于 Docker 的 build,ship,run一樣有很多沖突,我是這么理解的:

build過程,從Docker 宣傳的口號來說,源碼作為服務(wù)組件的組成部分,確實應(yīng)該放在鏡像當(dāng)中。但是,在沒有 Docker之前,我們的源碼也是打包的,這方面系統(tǒng)方面的安裝包已經(jīng)足夠強(qiáng)大。但之前的安裝包一定是需要你編寫依賴環(huán)境的,每一種系統(tǒng)要寫一個 spec。在有了 Docker 之后,這個困難就沒有了。因為,你的依賴環(huán)境就在鏡像里面,不需要額外的考慮環(huán)境的變化。所以,代碼掛載進(jìn)來也不會影響環(huán)境。

ship 是為鏡像倉庫為中心,你可以把 鏡像存到倉庫里面,也可以把鏡像拉在主機(jī)上。代碼作為經(jīng)常變化的部分,并不能把鏡像作為不可變的組件特性給發(fā)揮到極致。所以,源碼在鏡像里面打包分發(fā)也不一定是好事。

run 的部分是秒開應(yīng)用以及依賴的環(huán)境。把源碼打包到鏡像里面后,Run 新版本的鏡像,就需要 stop 老鏡像。畢竟有一個停起的過程,如果沒有灰度發(fā)布的過程,這個更新鏡像的過程就是中斷服務(wù)的。


上面的困惑雖然小,也能讓我們看到 Docker 的使用是需要花心思的。盲從的亂用 Docker 并不能給你帶來甜頭,反而會讓你更煩惱。希望大家一起探討起來,一起發(fā)現(xiàn)一些困惑,一起來探討解決。

肖德時先生現(xiàn)任數(shù)人云CTO,在數(shù)人云負(fù)責(zé)下一代DCOS組件的選型和整合,讓眾多DCOS
組件能無縫連接,提供支持微服務(wù)架構(gòu)下輕量級PaaS平臺。

肖德時先生曾就職于多家知名IT公司,擅長企業(yè)級工具軟件的設(shè)計及實現(xiàn),擁有十五年計算機(jī)行業(yè)從業(yè)經(jīng)驗。2010年肖德時先生加入Redhat,擔(dān)任內(nèi)部工作組Team
Leader。

”老肖語錄“是肖德時先生推出的個人公眾號欄目,他利用這個公眾號記錄自己創(chuàng)業(yè)路上的點點滴滴,不時會有精彩的技術(shù)感悟與分享,歡迎大家關(guān)注。

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://www.ezyhdfw.cn/yun/26548.html

相關(guān)文章

  • 老肖有話說:霧霾天帶你看清Crane技術(shù)實現(xiàn)之路

    摘要:今天為大家介紹的容器管理工具是數(shù)人云基于最新技術(shù)的一個開源項目。今天從技術(shù)角度分享一下數(shù)人云從設(shè)計到開發(fā)的實踐之路。從控制面板說起數(shù)人云是一家開源技術(shù)的公司,最初希望做一個開源項目,相當(dāng)于做了一次內(nèi)部創(chuàng)新。數(shù)人云的技術(shù)棧是,正好與十分密切。 小數(shù)表示最近霧鎖京城真是有些可怕,迷迷蒙蒙讓人看不清遠(yuǎn)處,大家外出也要注意防霾哦! 容器管理面板Crane,是 數(shù)人云的第一個開源項目,那...

    Alliot 評論0 收藏0
  • 老肖有話說:如期而至的Swarm新工具Crane開源解讀

    摘要:更多技術(shù)棧的包容數(shù)人云技術(shù)團(tuán)隊為了幫助廣大技術(shù)愛好者對新版本有快速直觀的感受,制作了一款基于最新特性的容器管理工具,具備一定容器開發(fā)經(jīng)驗的開發(fā)者可以通過它在第一時間體驗的新特性??梢哉f,數(shù)人云是在技術(shù)能否持續(xù)下去的爭論中發(fā)布的工具。 showImg(https://segmentfault.com/img/bVD5g2?w=900&h=500);中秋節(jié)前, 數(shù)人云技術(shù)團(tuán)隊推出了一...

    andot 評論0 收藏0
  • 解惑|你是否為容器監(jiān)控操碎了心?

    摘要:系統(tǒng)監(jiān)控容器數(shù)量容器監(jiān)控應(yīng)用監(jiān)控每個主機(jī)監(jiān)控數(shù)量主機(jī)監(jiān)控項以主機(jī)為中心的監(jiān)控體系容器作為主機(jī),以主機(jī)為中心將有兩個問題無法解決容器作為主機(jī),因為容器生命周期非常短暫,所以監(jiān)控系統(tǒng)會認(rèn)為一半主機(jī)在頻發(fā)故障。 導(dǎo)讀:容器對于物理機(jī)和虛擬機(jī),單從監(jiān)控上看就不是一個數(shù)量級的,但監(jiān)控又是至關(guān)重要的,沒有監(jiān)控如同閉眼開車。 本次分享邀請數(shù)人云運(yùn)維總監(jiān)龐錚,本文將從以下幾個方面聊聊容器監(jiān)控的相關(guān)思考...

    韓冰 評論0 收藏0
  • 如何使用GitLab和Rancher構(gòu)建CI/CD流水線 – Part 2

    摘要:第一部分的內(nèi)容介紹了如何部署配置和確保在的運(yùn)行。這一部分中,我們將介紹如何使用構(gòu)建容器,以及如何使用容器配置項目。除此之外,我們還將涉及如何用建立容器并部署到上。 這是我們使用GitLab和Rancher構(gòu)建CI/CD流水線系列教程的第二部分。第一部分的內(nèi)容介紹了如何部署、配置和確保GitLab在Rancher的運(yùn)行。這一部分中,我們將介紹如何使用GitLab CI Multi-Run...

    maybe_009 評論0 收藏0
  • 容器環(huán)境下的持續(xù)集成最佳實踐:構(gòu)建基于 Drone + GitFlow + K8s 的云原生語義化

    摘要:集成測試完成后,由運(yùn)維同學(xué)從發(fā)起一個到分支,此時會會運(yùn)行單元測試,構(gòu)建鏡像,并發(fā)布到預(yù)發(fā)布環(huán)境測試人員在預(yù)發(fā)布環(huán)境下再次驗證功能,團(tuán)隊做上線前的其他準(zhǔn)備工作運(yùn)維同學(xué)合并,將為本次發(fā)布的代碼及鏡像自動打上版本號并書寫,同時發(fā)布到生產(chǎn)環(huán)境。 云原生 (Cloud Native) 是伴隨的容器技術(shù)發(fā)展出現(xiàn)的的一個詞,最早出自 Pivotal 公司(即開發(fā)了 Spring 的公司)的一本技術(shù)小...

    asoren 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<