自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

實(shí)戰(zhàn):如何在IDE中使用Docker?

云計(jì)算
本篇博文是關(guān)于如何集成Docker到我們的IDE中。讓我們有機(jī)會(huì)介紹一個(gè)Eclipse插件doclipser,可以在IDE中編輯、構(gòu)建和運(yùn)行Docker容器。

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

這個(gè)博客帖子是關(guān)于如何集成Docker到我們的IDE中。讓我們有機(jī)會(huì)介紹一個(gè)Eclipse插件doclipser,可以在IDE中編輯、構(gòu)建和運(yùn)行Docker容器。

Docker的開發(fā)環(huán)境

在深入Docker和IDE集成細(xì)節(jié)之前,讓我們看看,為什么得要把Docker放進(jìn)必需的開發(fā)工具列表中。

構(gòu)建系統(tǒng)

首先,Docker能夠使我們的構(gòu)建環(huán)境具有便攜、可重復(fù)以及隔離的特性。舉個(gè)例子:你需要使用5.1版本的gcc工具構(gòu)建一個(gè)C文件。 所需要做的就是運(yùn)行以下命令(當(dāng)然,這里假定你已經(jīng)安裝了Docker):

  1. docker run gcc:5.1 gcc -o helloworld helloword.c 

神奇的是,你可以在任何地方運(yùn)行它,你不需要考慮庫文件、沖突或者gcc的安裝。只要它能在你的筆記本上跑起來,也就可以在集成服務(wù)器上運(yùn)行了。

運(yùn)行環(huán)境

同樣適用于運(yùn)行環(huán)境。如果你只想在tomcat 8上運(yùn)行Java Web應(yīng)用程序,可以只使用:

  1. docker run tomcat:8 -v HelloWorld.war:/usr/local/tomcat/webapps/Helloworld.war 

同樣,你不用擔(dān)心依賴性、平臺(tái)配置或Linux發(fā)行版的差異,這些Docker都能搞定。

Docker和IDE

好吧,上面已經(jīng)非常清楚地說明了,Docker對(duì)開發(fā)如此有用的原因。就像我們描述的,你可以使用喜歡的shell來執(zhí)行這些命令。 問題是,開發(fā)者都是懶惰的。這意味著,如果我們?cè)谧钕矚g的IDE中碼字,就不希望跑到IDE外面來使用Docker。我們想直接從IDE中運(yùn)行容器。

不幸的是,現(xiàn)在主要的IDE都不支持Docker。

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

你想要在容器中運(yùn)行IDE?

  1. docker run eclipse 

汗,這不是容器的使用方式。在容器里面運(yùn)行圖形化應(yīng)用程序,還是太過復(fù)雜也缺少可移植性。

你想要從IDE中運(yùn)行容器?

是哦!我們希望能看到支持Dockerfile和Compose YML文件,希望IDE構(gòu)建系統(tǒng)和運(yùn)行環(huán)境能在容器內(nèi)跑。讓我們來看看詳細(xì)的需求:

Dockerfile的支持

Dockerfile支持應(yīng)該帶有語法高亮顯示,自動(dòng)補(bǔ)全(當(dāng)按下Ctrl+SPACE鍵,dockerfile指令會(huì)自動(dòng)彈出來)和語法驗(yàn)證(在執(zhí)行docker build之前,IDE要能指出語法錯(cuò)誤)

如何在IDE中使用Docker?

 

Compose YML文件的支持

更有意思的是對(duì)Compose YML文件的支持。這將允許定義容器間的關(guān)系,如Link和Volume,也可以從你的編輯器一次啟動(dòng)多個(gè)容器。真的很酷!

如何在IDE中使用Docker?

#p#

IDE構(gòu)建系統(tǒng)

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

如何在IDE中使用Docker?

IDE運(yùn)行環(huán)境

我們期待IDE的最后一項(xiàng)功能,應(yīng)該是能夠在Docker容器內(nèi)部啟動(dòng)運(yùn)行環(huán)境。

如何在IDE中使用Docker?

doclipser簡介

根據(jù)上述四個(gè)功能,我們構(gòu)建了doclipser,編輯Eclipse插件、構(gòu)建和運(yùn)行Docker容器。

doclipser支持Dockerfile:語法高亮顯示,自動(dòng)補(bǔ)全和語法驗(yàn)證。雖仍沒有支持Docker Compose YML文件,但已經(jīng)可以執(zhí)行一些Docker的命令,來構(gòu)建源文件或啟動(dòng)運(yùn)行環(huán)境。

doclipser不是唯一的Docker Eclipse插件。這兒有一個(gè)非常好的Eclipse Docker工具集(http://tools.jboss.org/blog/2015-03-30-Eclipse_Docker_Tooling.html)(以下簡稱:EDT),由JBoss維護(hù)并且和Eclipse的Linux工具包一起分發(fā)。 即使它們都能使大家在IDE中使用Docker,doclipser和EDT還是兩種不同的方法:

  • doclipser通過對(duì)Dockerfiles的支持,專注于編輯和運(yùn)行容器,在未來的版本中,將提供對(duì)Docker Compose YML文件的支持。
  • EDT對(duì)Docker鏡像和容器擁有更高級(jí)的管理方式,但缺乏對(duì)Dockerfiles的支持。

doclipser demo from Mario Loriedo on Vimeo.(http://www.56.com/u92/v_MTM3NzM3NzY5.html#fromoutpvid=MTM3NzM3NzY5)

  1. domeide.github.io 

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

  1. 這里已包括:
  2. Sublime Docker(https://packagecontrol.io/packages/Docker%20Based%20Build%20Systems)
  3. IntelliJ IDEA 14.1(http://blog.jetbrains.com/idea/2015/03/docker-support-in-intellij-idea-14-1/)
  4. Eclipse JBoss Tools(http://tools.jboss.org/blog/2015-03-30-Eclipse_Docker_Tooling.html)
  5. Visual Studio 2015 RC Tools for Docker預(yù)覽版(https://visualstudiogallery.msdn.microsoft.com/6f638067-027d-4817-bcc7-aa94163338f0)

博文出處:http://www.dockone.io/article/464

 

責(zé)任編輯:Ophira 來源: dockone
相關(guān)推薦

2020-11-30 11:55:07

Docker命令Linux

2015-11-26 10:57:56

DockerOpen vSwitc

2023-12-28 10:30:56

類型系統(tǒng)Rust

2011-08-10 09:31:41

Hibernateunion

2021-03-09 07:27:40

Kafka開源分布式

2015-08-27 09:46:09

swiftAFNetworkin

2021-06-09 09:36:18

DjangoElasticSearLinux

2022-05-17 08:25:10

TypeScript接口前端

2024-01-18 08:37:33

socketasyncio線程

2022-06-23 08:00:53

PythonDateTime模塊

2019-09-16 19:00:48

Linux變量

2014-07-02 09:47:06

SwiftCocoaPods

2020-04-09 10:18:51

Bash循環(huán)Linux

2024-09-06 11:34:15

RustAI語言

2025-03-21 09:58:59

Python數(shù)據(jù)類型安全

2021-09-10 10:30:22

Java代碼

2022-10-25 09:07:28

Linuxxargs命令

2023-12-01 09:18:27

AxiosAxios 庫

2023-01-28 17:41:07

Java代碼

2018-05-16 10:32:06

Linux命令find
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)