国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

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

luffyZh / 2340人閱讀

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

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

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

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

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

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

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

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


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

肖德時先生現任數人云CTO,在數人云負責下一代DCOS組件的選型和整合,讓眾多DCOS
組件能無縫連接,提供支持微服務架構下輕量級PaaS平臺。

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

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

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/26548.html

相關文章

  • 老肖有話說:霧霾天帶你看清Crane技術實現之路

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

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

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

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

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

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

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

    maybe_009 評論0 收藏0
  • 容器環境下的持續集成最佳實踐:構建基于 Drone + GitFlow + K8s 的云原生語義化

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

    asoren 評論0 收藏0

發表評論

0條評論

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