精品国产一级在线观看,国产成人综合久久精品亚洲,免费一级欧美大片在线观看

The Texas Tribune的Docker之旅

責(zé)任編輯:editor006

作者:Daniel Craigmile

2015-09-22 17:17:20

摘自:blog.docker.com

【編者按】本文是The Texas Tribune使用Docker的實(shí)戰(zhàn)經(jīng)驗(yàn)總結(jié),概述了他們選擇Docker的原因、問題和注意點(diǎn),值得一看。

【編者按】本文是The Texas Tribune使用Docker的實(shí)戰(zhàn)經(jīng)驗(yàn)總結(jié),概述了他們選擇Docker的原因、問題和注意點(diǎn),值得一看。

以下為原文:

我們The Texas Tribune是Docker的粉絲。在Doker 1.0版本發(fā)布之前我們就開始關(guān)注它了,自去年6月份Doker發(fā)布第一版production-ready代碼時(shí)就已經(jīng)將其納入我們的基礎(chǔ)架構(gòu)中。目前,Docker 已經(jīng)成為我們平臺(tái)的主要基礎(chǔ)。

我們是一個(gè)小型非盈利的新聞機(jī)構(gòu),主要報(bào)道國家層面的政治與政策,以及有一個(gè)主新聞網(wǎng)站(www.texastribune.org)、一個(gè)評論網(wǎng)站(tribtalk.org)和其他幾個(gè)網(wǎng)站。這些網(wǎng)站均由非常能干的新聞應(yīng)用程序開發(fā)團(tuán)隊(duì)來開發(fā)維護(hù),開發(fā)環(huán)境主要是調(diào)試遺留應(yīng)用程序或靜態(tài)網(wǎng)站和頻繁地開發(fā)新的應(yīng)用。主網(wǎng)站是基于Django語言(同時(shí)也使用Ruby語言),節(jié)點(diǎn)和彼此間存在大量的依賴關(guān)系。

如何在所有的軟件安裝中實(shí)現(xiàn)正確的版本,且保持一致和可重復(fù)性呢?那就需要依靠Docker。對于一個(gè)新開發(fā)者,如果你按照README的詳細(xì)說明來安裝項(xiàng)目工程,你將會(huì)耗費(fèi)幾個(gè)小時(shí)甚至于幾天。使用Docker,你將在幾分鐘內(nèi)搞定。

我們最初使用Docker,僅僅是把它作為一個(gè)很不錯(cuò)的獨(dú)立開發(fā)環(huán)境,認(rèn)為它是steroids上的版本管理工具(想想 virtualenv或者rvm)。

逐漸地,我們開始在很多方面結(jié)合使用Docker。利用Jenkins作為持續(xù)集成工具;如數(shù)據(jù)庫的備份與更新、Django 維護(hù)等具體的操作任務(wù)時(shí)使用的是Rundeck。對于Rundeck和Jenkins,主機(jī)運(yùn)行不同的項(xiàng)目需要做大量的不同類型工作,而且每個(gè)項(xiàng)目都有不同的要求和相關(guān)的軟件。以前,我們在不同項(xiàng)目上不得不安裝對應(yīng)的軟件,并希望它們之間不存在任何沖突。但這是一個(gè)不現(xiàn)實(shí)的希望,不同軟件總是存在沖突。現(xiàn)在,利用Doker,所有的事情互相獨(dú)立,在Jenkins或者Rundeck的主機(jī)上沒有任何需要特別安裝的軟件。每一項(xiàng)任務(wù)作為一個(gè)獨(dú)立的Docker容器運(yùn)行。這些主機(jī)可以用來做一件事(并把它做好):運(yùn)行我們的CI 和我們的業(yè)務(wù)。

自從這項(xiàng)服務(wù)提供以來 ,Doker Hub就是工作流程的一部分。我們使用其自動(dòng)生成功能。這意味著,只要一個(gè)新commit 提交到GitHub,Docker Hub 就開始構(gòu)建images。在己建立的框架上不需要的當(dāng)前Git 庫的副本,Rundeck 和Jenkins將會(huì)獲得這些images。Docker Hub也連接到parent images,當(dāng)parent images更新時(shí),child images也隨之更新。這一切的完成過程中我們沒有任何干預(yù)。目前,我們公布了所有關(guān)于Hub的Doker開源項(xiàng)目,以便他人查找,使用和延伸我們的工作。(28個(gè)項(xiàng)目)

我們召開了一系列關(guān)于Docker的研討會(huì),目的是讓平臺(tái)和新聞應(yīng)用程序開發(fā)團(tuán)隊(duì)熟悉它,并在自己項(xiàng)目中來使用Docker,甚至演講報(bào)告都是通過Docker來完成的。

在輔助服務(wù)中也開始使用Docker。有一個(gè)Docker image,它是用來完成郵件的分發(fā)的。插上您的 Mandrill key就可以了,不再需要建立艱巨的后綴任務(wù)、Sendmail或其他的事情。簡單地啟動(dòng)container和與它連接的其他container或者主機(jī)就可以實(shí)現(xiàn)即時(shí)郵件分發(fā)功能,而且?guī)缀醪淮嬖谌魏螁栴}。對于Jenkins,配置郵件的傳遞分發(fā)曾是一個(gè)痛點(diǎn),但現(xiàn)在不再是了。

另一個(gè) image,它可以作為一個(gè)OAuth2的代理。可以將它鏈接到其他 container和bam!——即時(shí)身份驗(yàn)證。Doker也可以運(yùn)行高性能的應(yīng)用程序,像視頻聚合和流媒體服務(wù)。還有一個(gè)image可以提供Elasticsearch(基于Lucene的搜索服務(wù)器)的功能。對于實(shí)現(xiàn)Elasticsearch功能而言,運(yùn)行在container里應(yīng)用程序?qū)?huì)比運(yùn)行安裝在java上應(yīng)用程序容易很多。

我們備受歡迎的Government Salaries Explorer和Texas Legislative Guide兩者均在Docker上運(yùn)行。這意味著我們新聞應(yīng)用開發(fā)團(tuán)隊(duì)可以部署和維護(hù)這些應(yīng)用程序,而不用擔(dān)心Amazon Web服務(wù)器復(fù)雜的自動(dòng)釋放和彈性負(fù)載均衡。

利用Docker我們可以容器化任何新開發(fā)或者很大改動(dòng)的應(yīng)用程序,并加以運(yùn)行。

目前,主網(wǎng)站還不是建立在Docker上,但我們正在朝著這個(gè)方向努力。這可能會(huì)有點(diǎn)困難,因?yàn)榇嬖诤芏嘈枰苿?dòng)的部件。作為我們運(yùn)行時(shí)間最長的服務(wù)網(wǎng)站,對它而言,變化是更難、更高風(fēng)險(xiǎn)的。我們同樣期待去了解兩個(gè)方面的問題,一是如何進(jìn)行快速轉(zhuǎn)變;二是提供編排、部署和管理的服務(wù)競爭格局將如何發(fā)展。同時(shí)也密切關(guān)注著Amazon’s Elastic Container Service(和使用它的產(chǎn)品,像Empire和Convox)以及Kubernetes、Tutum和Rancher。

Docker早已在我們公司普及,并在節(jié)省時(shí)間和方便使用上提供了實(shí)實(shí)在在的好處。我們期待在更多的地方使用它!

鏈接已復(fù)制,快去分享吧

企業(yè)網(wǎng)版權(quán)所有?2010-2024 京ICP備09108050號(hào)-6京公網(wǎng)安備 11010502049343號(hào)

  • <menuitem id="jw4sk"></menuitem>

    1. <form id="jw4sk"><tbody id="jw4sk"><dfn id="jw4sk"></dfn></tbody></form>
      主站蜘蛛池模板: 禄丰县| 耿马| 龙州县| 四子王旗| 板桥市| 大同县| 重庆市| 武鸣县| 罗城| 屏东县| 长子县| 饶阳县| 娱乐| 庄浪县| 航空| 永善县| 应城市| 右玉县| 阿瓦提县| 成安县| 许昌市| 拜城县| 万载县| 雷山县| 新营市| 营口市| 都兰县| 苍南县| 麻江县| 沙湾县| 宁蒗| 南汇区| 凌源市| 怀来县| 佛教| 遂川县| 清苑县| 海阳市| 彭阳县| 建德市| 武威市|