09 三月
2017

Docker: Build, Ship, and Run Any App, Anywhere

官方口號雖是如此,但實際上開始學習後會發現很容易一團混亂,因為:
#版本更新很快,最新的已經跳到17.03(原本是1.13.x),而且有區分為CE和EE版
#不同系統平台的版本也會不一樣
#不同版本的Docker支援的指令參數會有重大的差異
#圍繞docker而出現的生態圈還很雜亂,很容易會造成誤解

簡單舉例來說:
#docker network的指令必須用docker v1.9之後的版本(取代–link用法)
#在Mac裡安裝docker後就有docker-compose可用,在Linux需要用curl下載
#必須是docker v1.10以上才能用docker-compose,且須設定docker-compose.yml
#docker-machine是一種用戶端工具而非宿主,是用來管理在雲服務上面的docker
#Kitematic是一種GUI的docker工具,也包含了docker CLI,在Windows 7可以用

其實還有很多類似容易令初學者感到混亂的名詞和指令,有許多工具甚至還有相依的關聯,建議像我一樣的初學者可以從書中來建立較完整的觀念較佳 (不然從網路上參考的文章很容易在執行測試時會遇到很多問題,有些是因為docker版本的關係而造成的)。

docker在2013年年底時就出現了,到現在也才三年多就已經發展的如此規模,實在很令人敬佩,之所以現在才開始學習,是覺得此技術應該不是屬於那種曇花一現的熱潮,而是會像雲服務一樣成為重大影響的基礎知識,因此才決定正式學習docker。

這裡要分享的就是我在Mac、Windows 7、Linux (CentOS 6.x、CentOS 7.x)和NAS中安裝的Docker版本(安裝方法可以參考Docker官方網站)。

 

Windows 7 (只能安裝Kitematic來跑)的Docker版本:v1.13.1

 

Mac OS X(10.10.5)上面的docker版本:v17.03.0-ce

 

Synology NAS(DS716+)的docker版本:v.1.11.2

 

在Linux CentOS 6.7的docker版本:v1.7.1

 

在CentOS 7.3的docker版本:v.1.12.5

 

看了上述在不同系統的docker版本後,不難發現若是希望能實現docker官方的口號(Build, Ship, and Run Any App, Anywhere),那麼使用docker時,最好要先統一開發測試和正式運作的系統平台(也就是宿主host os),免得發生開發好的docker image在正式運作的系統平台上無法正常執行…

若你問我建議的系統平台是什麼?
我個人會強烈推薦用CentOS 7.x,因為我自己熟悉的是RedHat支派的Linux(CentOS又稱為白牌的RHEL),系統效能好、穩定度和安全性都高,雖然它的docker版本不是最新,但支援的docker指令夠多就超好用了~

總之,就是看你公司習慣的系統平台為主哦 (正式運作服務的系統)~ 😉

Facebooktwittergoogle_plusmail
志文

tts.ken@gmail.com