Docker能將資訊基礎架構的環境組態程式化,讓時間軸科技負責率領研發團隊的研發中心主任工程師戚務漢(圖右)和數位行銷策略處主任工程師謝宗穎(圖左),和負責維運的研發中心主任工程師陳俊廷,雙方對系統的溝通更加透明化。

圖片來源: 

iThome

「一用了Docker,就再也離不開了。」時間軸科技數位行銷策略處主任工程師謝宗穎興奮地不斷地說著。自從3個月前時間軸導入Docker之後,新到任的開發人員,只要在電腦上安裝了Docker,下達一行指令,就可以自動建妥整套時間軸科技團隊慣用的開發環境,「不用像過去得花1~3天,一步步教菜鳥安裝所有套件和軟體後,他才能開始有生產力。」他說,就算是老手也得耗掉半天來重裝環境,現在只要一行指令。

要讓業務人員想對客戶示範最新網站,也只要一行指令就可快速建立起示範網站。

時間軸利用Dockerfile可以用從前一個Docker Image開始增加新程式以建立新Image的方式,將慣用的執行環境從Ubuntu系統的Base Image,逐步將Nginx、Ruby/Rails、MySQL、Redis、Node.js、Sails等網頁所需執行環境,一層層分別打包成不同的Docker Image,只要部署最後一層的Dockerfile就能自動建立全套環境。時間軸科技研發中心主任工程師戚務漢實際展示了用Docker開發的新系統,除了在從網路下載基礎印象檔資料花了不少時間外,光是建立Image並啟動為Container不到一分鐘。

更大的優點是,負責系統維運的時間軸科技研發中心主任工程師陳俊廷指出,Docker實現了Infrastructure as code的精神(基礎架構程式化)。因為在Dockerfile中可以完整記錄下建置應用程式所需執行環境的指令和參數,因而解決了過去開發人員難以和維運部門溝通的困難,讓彼此有一套可以追蹤記錄的機制,甚至Dockerfile還可以結合版本控管功能,可以隨時回到前一版本。

 

在Dockerfile中,可以詳細記錄要建立一個Docker Image的完整步驟。

 

Docker能用從前一個Docker Image開始增加新程式以建立新Image的方式,一層層建立全套環境。圖為從smlsunxie/rudy-node這個舊Image開始建立新的Image。

 

要在Mac電腦使用Docker,可用boot2Docker工具,利用VirtualBox建立虛擬機器,再安裝Docker環境來執行Docker的Container。

 

時間軸利用Fig工具,用一個腳本程式來啟動一個應用程式所需的多個Dockerfile。只要執行這個fig.yml就能快速建立這個應用程式所需環境。

 

相關報導請參考「Container技術三部曲(一)迎接下一個雲端火紅技術Docker」

相關報導請參考「Container技術三部曲(二)不只快,還要更快──臺灣Docker應用案例的啟發」

相關報導請參考「Container技術三部曲(三)Container三部曲(三)IT架構的新奈米革命:Container OS」


Advertisement

更多 iThome相關內容