如何使用windows版Docker並在IntelliJ IDEA使用Docker運行Spring Cloud項目

來源:互聯網
上載者:User

標籤:targe   cti   品牌   latest   images   命令   外掛程式   oca   3.2   

 

如何使用windows版Docker並在IntelliJ IDEA使用Docker運行Spring Cloud項目#1:前提準備

  1.1 首先請確認你的電腦是windows10專業版或企業版,只有這隻有這兩個版本才帶有hyper-v

#2:介紹

  以往我們如果想要在windows上使用docker,都是使用virual box來建立虛擬機器,自從windows10發布以來,微軟宣布了一系列的linux軟體登陸windows,其中就包括了docker,現在我們可以使用windows內建的hyper-v虛擬機器來建立運行docker服務。

  InteliiJ Idea作為目前最實用的IDE對Docker也提供了支援。

#3:安裝Docker for windows

  3.1 從官網下載docker for windows,https://store.docker.com/editions/community/docker-ce-desktop-windows,下載完畢後進入安裝介面,docker會自動安裝,介面一閃而過,電腦運行速度還不錯,安裝完成之後,docker會彈個窗告訴你hyper-v未開啟,像這樣。

  不過如果你現在點擊OK基本上是沒有用的,得先去BIOS裡開啟硬體虛擬化,本機是惠普的機器,開啟點按f10進入bios,其他品牌的機器自行搜尋進入,像這樣

重啟電腦後docker會自動運行,依然彈出上面那個hyper-v未開啟的視窗,這回可以點擊OK讓docker來幫你開啟hyper-v,或者是自己在控制台-程式-程式和功能-啟用或關閉windows功能裡開啟hyper-v

到此,我們的docker for windows已經安裝完成。在命令列中輸入docker --version可以查看已經安裝的docker版本

 

  3.2 使用docker中的鏡像 

    3.2.1  先用官方鏡像作個樣本 

      使用 docker search <imageName> 來搜尋對應的鏡像 

然後使用 docker pull <鏡像名:tag> 例如docker pull nginx:latest  ,tag不輸入是預設拉取最新的 

當鏡像下載玩之後我們通過docker images命令來查看所有本地的鏡像

我這裡下載了java以及nginx的鏡像 其中還有我已經打包好的spring cloud的eureka註冊中心的鏡像

使用docker run命令來運行鏡像,我這裡運行nginx的鏡像

 

使用docker運行nginx成功後訪問localhost:80就可以訪問到nginx的首頁,說明我們已經在docker運行了我們的第一個鏡像,雖然是官方鏡像,但心裡的成就感還是不低的。

好的,在運行了第一個鏡像之後,我們要開始在IntelliJ IDEA中使用docker並構建我們的第一個spring boot程式放到docker中去運行

#4:IDEA的準備工作

1:Docker外掛程式,首先需要在你的IDEA中安裝Docker外掛程式,定位到File-Setting-Plugins後搜尋Docker Integration安裝。

2:配置Docker伺服器,在IDEA中定位到File-Setting-build,Execution,Deployment-Docker

如果你沒用使用Docker Machine來管理虛擬機器的需求的話,我們使用預設的Docker守護進程就OK了,不過在此之前我們還需要設定一下docker

 

將docker與本地的串連設定為不需要TLS加密。

在完成這一步之後,可以在IDEA的配置視窗看到成功串連到了本機上的docker

到這裡,我們已經完成對docker的配置,接下來就可以進入真正的實施階段。

#5:建立spring cloud項目

 1.首先在Idea中建立一個spring boot項目,怎麼建立在此就不再贅述了

建立完成之後,我們在pom.xml中添加依賴項

本地編寫的是spring cloud的註冊中心項目,所以還需要加上

spring的版本需要與spring cloud的版本號碼對應,詳細的對應資訊可以去http://projects.spring.io/spring-cloud/查看

 由於本次只是簡單地示範如何在IDEA中部署spring boot項目到docker中,所以在項目中只需要對eureka註冊中心進行簡單的配置就OK了,

在啟動類中加上註解標明這是一個eureka註冊中心的項目

在設定檔中配置連接埠

然後我們就完成了項目的編寫,可以先啟動看看項目是否能夠啟動,啟動之後我們訪問http://localhost:8761/ ,可以看到我們的eureka註冊中心已經啟動,項目編寫沒有問題

接下來就到了如何把項目部署到docker中去的問題了

#6:將項目部署到Docker中

首先我們需要編寫Dockerfile檔案,在src-main目錄下建立docker檔案夾,然後在其中建立Dockerfile檔案

檔案內容如下

 

其中紅框的地方是本項目打包之後的jar包名字,預設是artifactId-version.jar,同時我們可以看到在左上叫有個啟動並執行標記,很對,這個就是用來在IDEA構建jar包到鏡像,然後放到Docker中啟動並執行按鈕,不過我們還是需要先配置一下

我們先配置鏡像名稱以及容器名稱

然後需要對docker容器需要映射的連接埠號碼進行配置

 

然後我們點擊run,可以看到,很快就報錯了,這是由於DockerFile與我們產生的jar包不在同一個檔案夾造成的。

為瞭解決這個問題,我找到了兩種方案:

方案1:先使用maven命令

mvn clean package

對項目進行打包,命令執行完畢之後可以在target目錄下看到已經打包完成的jar包

然後把jar包放到Dockerfile所在的目錄下,像這樣

然後接著點擊Dockerfile中的運行,

 

在Deploylog視窗中,可以看到,這次構建鏡像就成功了,在log視窗中可以看到我們的項目在運行過程中打出的日誌資訊

很明顯,這次的構建和部署都成功了,訪問http://localhost:8761/,出現了我們想要看到的東西。

 

在命令列中使用docker ps 命令查看正在啟動並執行容器資訊

可以看到,我們在IDEA中編寫的項目已經運行到了docker中。

方案2:使用docker-maven-plugin外掛程式,在pom.xml中配置外掛程式

然後在ternimal中運行 mvn clean package -DskipTests=true docker:build命令,打包項目並構建鏡像,命令執行完畢可以看到

在docker視窗下,我們構建的鏡像已經出現在視窗中了

右鍵點擊建立一個新的容器

跳轉到我們的部署配置裡面,只需要像方案1中的一樣進行配置完畢後點擊run就OK了,訪問http://localhost:8761/,同樣可以看到我們的eureka的運行資訊。docker ps 命令也顯示我們的容器已經運行起來。

#7:總結

好的,到這裡我們先是在安裝了windows版的docker,然後使用IDEA建立了一個spring cloud項目,並在IDEA中將此項目部署到了docker中,本次隨筆就到此為止了。

如果你對本篇部落格有興趣的話,歡迎共同交流和討論

有任何問題請聯絡[email protected],com

如何使用windows版Docker並在IntelliJ IDEA使用Docker運行Spring Cloud項目

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.