如何在IDE中使用Docker

jopen 9年前發布 | 33K 次閱讀 Docker

這是一個新穎的想法,在碼農的IDE環境中,若是可以很方便地使用Docker,真是一件很有意思的事:對Dockerfile或者Compose YML文件進行語法高亮、自動補全、語法驗證,甚至還可以直接在IDE中啟動這個Docker容器來進行更深入的測試或者開發。讓懶惰的程序員們可以更高效地利用時間,專注于解決應用本身的問題。有興趣的小伙伴,可以搜搜有沒有更好的可以分享分享,或者幫助社區寫另一個優秀的工具出來。

這個博客帖子是關于如何集成Docker到我們的IDE中。讓我們有機會介紹一個Eclipse插件 doclipser,可以在IDE中編輯、構建和運行Docker容器。

 如何在IDE中使用Docker

Docker的開發環境

在深入Docker和IDE集成細節之前,讓我們看看,為什么得要把Docker放進必需的開發工具列表中。

構建系統

首先,Docker能夠使我們的構建環境具有便攜、可重復以及隔離的特性。舉個例子:你需要使用5.1版本的gcc工具構建一個C文件。 所需要做的就是運行以下命令(當然,這里假定你已經安裝了Docker):
docker run gcc:5.1 gcc -o helloworld helloword.c
神奇的是,你可以在任何地方運行它,你不需要考慮庫文件、沖突或者gcc的安裝。只要它能在你的筆記本上跑起來,也就可以在集成服務器上運行了。

運行環境

同樣適用于運行環境。如果你只想在tomcat 8上運行Java Web應用程序,可以只使用:
docker run tomcat:8 -v HelloWorld.war:/usr/local/tomcat/webapps/Helloworld.war
同樣,你不用擔心依賴性、平臺配置或Linux發行版的差異,這些Docker都能搞定。

Docker和IDE

好吧,上面已經非常清楚地說明了,Docker對開發如此有用的原因。就像我們描述的,你可以使用喜歡的shell來執行這些命令。 問題是,開發者都是懶惰的。這意味著,如果我們在最喜歡的IDE中碼字,就不希望跑到IDE外面來使用Docker。我們想直接從IDE中運行容器。

不幸的是,現在主要的IDE都不支持Docker。

所以,你是不是很想看到IDE中集成了Docker?

你想要在容器中運行IDE?
docker run eclipse
汗,這不是容器的使用方式。在容器里面運行圖形化應用程序,還是太過復雜也缺少可移植性。

你想要從IDE中運行容器?

是哦!我們希望能看到支持Dockerfile和Compose YML文件,希望IDE構建系統和運行環境能在容器內跑。讓我們來看看詳細的需求:

Dockerfile的支持

Dockerfile支持應該帶有語法高亮顯示,自動補全(當按下Ctrl+SPACE鍵,dockerfile指令會自動彈出來)和語法驗證(在執行docker build之前,IDE要能指出語法錯誤)

 如何在IDE中使用Docker

Compose YML文件的支持

更有意思的是對Compose YML文件的支持。這將允許定義容器間的關系,如Link和Volume,也可以從你的編輯器一次啟動多個容器。真的很酷!

 如何在IDE中使用Docker

IDE構建系統

當然,你需要得到IDE中運行容器的支持。具體地,容器可以構建你的源文件。如果利用Docker多種語言特性,這可能變得更容易。

 如何在IDE中使用Docker

IDE運行環境

我們期待IDE的最后一項功能,應該是能夠在Docker容器內部啟動運行環境。

 如何在IDE中使用Docker

doclipser簡介

根據上述四個功能,我們構建了doclipser,編輯Eclipse插件、構建和運行Docker容器。

doclipser支持Dockerfile:語法高亮顯示,自動補全和語法驗證。雖仍沒有支持Docker Compose YML文件,但已經可以執行一些Docker的命令,來構建源文件或啟動運行環境。

doclipser不是唯一的Docker Eclipse插件。這兒有一個非常好的 Eclipse Docker工具集(以下簡稱:EDT),由JBoss維護并且和Eclipse的Linux工具包一起分發。 即使它們都能使大家在IDE中使用Docker,doclipser和EDT還是兩種不同的方法:

  • doclipser通過對Dockerfiles的支持,專注于編輯和運行容器,在未來的版本中,將提供對Docker Compose YML文件的支持。
  • EDT對Docker鏡像和容器擁有更高級的管理方式,但缺乏對Dockerfiles的支持。
  • </ul>


    domeide.github.io

    Doclipser并不是將Docker集成到IDE的唯一的工具。我們正在建設一個GitHub的頁面,收集所有已存在的工具: http://domeide.github.io
    這里已包括:

    1. Sublime Docker
    2. IntelliJ IDEA 14.1
    3. Eclipse JBoss Tools
    4. Visual Studio 2015 RC Tools for Docker預覽版
    5. </ol>

      請問,你有任何相關的工具想分享嗎?


      • 這篇博文是我在dotScale 2015大會上的演講稿。

        原文鏈接:Docker meets the IDE(翻譯:黃帥 校對:魏小紅)

        譯者介紹

        ===================================
        Henry Huang,目前供職于趨勢科技 Trend Micro(南京),負責集群運維的工作。

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