Docker簡易版:使用更少擊鍵運行Redis,MongoDB

jopen 10年前發布 | 26K 次閱讀 Docker

翻譯自:https://blog.codecentric.de/en/2014/08/docker-dock-development-environment/

你可能遇到這樣的場景:開發軟件時,像數據庫和消息系統(messaging system)等其它服務也必須起起來。通常這些服務可能安裝在開發者本人的機器上或者運行在虛擬機里。而最近圍繞Docker的活動證明,它是一個有趣的可替代方案。使用Docker和一個叫dock的小工具,你可以短時間內啟動所有開發環境所需要的服務。

你不知道Docker是什么?沒問題。使用dock,你不需要真正了解Docker。你只需要安裝好Docker。我同事Lukas Pustina寫了一篇博客更詳細的介紹Docker。

介紹

想象一下,你想快速開發一個原型,同時需要一個MongoDB運行在本地。使用dock,啟動這個服務是輕而易舉。只要輸入dock mongodb,就好了。或者輸入dock redis來啟動Redis如何?dock使程序員樂于簡單而快速的啟動各種隔離的服務。你也可以執行像以下列表這樣更多,更復雜的步驟:

$ dock redis jenkins sonar

    Starting redis (using /Users/ben/.dock-formulas/formulas/redis)
    Container started
    Name:       redis
    IP:         192.168.59.103
    Ports:      6379

    Starting jenkins (using /Users/ben/.dock-formulas/formulas/jenkins)
    Container started
    Name:       jenkins
    IP:         192.168.59.103
    Ports:      8472

    Starting sonar (using /Users/ben/.dock-formulas/formulas/sonar)
    Container started
    Name:       sonar-mysql
    IP:         192.168.59.103
    Ports:      3306
    Container started
    Name:       sonar-server
    IP:         192.168.59.103
    Ports:      8474

dock底層使用的是Docker。Docker本身是很強大的,dock使其變得更通用。dock加入了一個規則機制(formula mechanism),目標是開發者需要的本地開發環境。如果沒有這個規則機制,你必須知道如何啟動容器,使用哪個鏡像,開放哪些端口。dock致力于讓開發者只需要知道服務的名字。規則在GitHub上維護,通過pull request,其他開發者可以自行擴展。如果你需要的服務不包含在內,請發pull request或issue.

dock允許你在不同的規則之間遷移。你可以在運行dock時加上—cat參數來打印規則的詳細信息。這些信息包括dock執行了哪些Docker命令。通過些信息學習Docker或者作為你能力的提高點。

安裝

dock托管在GitHub上,是一個shell腳本。安裝很簡單,只需要下載腳本,然后將它加入到你的$PATH路徑下。OS X用戶可通過Homebrew安裝,當然,你首先要安裝Docker

# as an OS X user with Homebrew
    brew tap bripkens/dock
    brew install dock  
    # for other platforms (assuming ~/bin is on your $PATH)
    curl https://raw.githubusercontent.com/bripkens/dock/master/dock -so ~/bin/dock && \
         chmod +x ~/bin/dock && \
         dock -u && \
         echo "dock installation successful. Try running 'dock’"

總結

Docker有很大潛力,而dock讓它更易于使用。dock對你進行原型設計或學習新技術時很有幫助,當然,你也可以將它作為日常的基礎設施。目前dock支持的服務還很少,但是它很容易擴展。告訴我你需要的任何服,或者發pull request來幫助。

來自:http://my.oschina.net/zjzhai/blog/298005

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!