天天看點

idea使用docker插件

接着上一篇docker開啟遠端通路後,我們就可以通過idea使用docker插件把項目部署到docker了。

首先我們先在idea安裝docker插件:

在setting中安裝docker插件

idea使用docker插件
1535529365951.png
idea使用docker插件

1535529477982.png

等待安裝完成重新開機idea

重新開機完成後,我們打開settings可以看到docker

idea使用docker插件

1535531268677.png

點選"+",添加一個連接配接。

idea使用docker插件

1535532032854.png

安裝上篇配置的docker資訊。我們通過tcp的方式連接配接到centos的docker服務。資訊配置好後,idea會自動檢測。然後會輸出“connection successful”。

然後再工具欄選擇docker的視窗,點選運作

idea使用docker插件
1535532259250.png
idea使用docker插件

1535532271985.png

接下來我們在idea上面操作docker

首先建立一個簡單的springboot項目

idea使用docker插件

1535532764721.png

我們的目的就是要把該項目放到docker上面跑起來

在src/main下面建立一個docker檔案夾,目錄下建立一個Dokerfile檔案,寫入一下的内容:

FROM frolvlad/alpine-oraclejdk8:slim
VOLUME /tmp
ADD dockerdemo-0.0.1-SNAPSHOT.jar app.jar
ENTRYPOINT ["java","-jar","/app.jar"]
           
idea使用docker插件

1535533764897.png

然後設定一下啟動項

選擇dockerFile

idea使用docker插件

1535533870788.png

idea使用docker插件

1535533924885.png

這樣就配置好了。不過我們這種方式有一個不好的地方就是,我們以後每次啟動的時候需要先把項目編譯的jar

放到src/main/docker的目錄下面。因為我們在Dockerfile的檔案中是這樣配置的

ADD dockerdemo-0.0.1-SNAPSHOT.jar app.jar
           

這裡的dockerdemo-0.0.1-SNAPSHOT.jar就是我們的jar,這樣的配置是說明在目前目錄下找這個jar。

是以為了解決上面的麻煩我們把Docker的配置修改一下

ADD /target/dockerdemo-0.0.1-SNAPSHOT.jar app.jar
           

把ADD的值指向絕對路徑,target下面

idea使用docker插件

1535534140059.png

然後我們把Dockerfile檔案直接放在項目的根目錄

idea使用docker插件

1535534229354.png

最後我們修改一下,啟動配置:Dockerfile選擇根目錄下面的那個

idea使用docker插件

1535534279183.png

接下來我們就啟動docker,建構鏡像中,由于是雲伺服器,這裡上傳鏡像需要一段時間。

idea使用docker插件

1535534419564.png

等到docker啟動完成

idea使用docker插件

1535534572312.png

我們去linux上面檢視一下:

通過指令docker ps

docker ps
           
idea使用docker插件

1535534490110.png

通過指令檢查程序是否存在

ps -ef|grep app*
           
idea使用docker插件

1535534850221.png

這裡說明我們已經成功把項目部署到了linux上的docker中了。

為了進一步驗證,我們寫一個接口:

@RestController
@RequestMapping(value = "docker")
public class DockerController {

    @RequestMapping(value = "getValue")
    public String dockerTest() {
        return "this is docker controller return value";
    }
}
           

重新把項目部署一下。

部署完成後,我們目前還不能馬上就可以通路這個剛部署的項目服務~因為:

  • 第一 我們還沒有在雲伺服器的安全組政策配置外網可以通路的端口
    • 第二 我們在設定安全組政策是設定哪。 8099嗎?
  • 我們要明白項目中設定的項目端口8099,我們是把這個項目整個部署到了docker的容器中的,而docker中的每一個容器我們都可以看作一個虛拟機。是以容器裡面的端口的獨立的。是以我們還要在雲伺服器上配置docker容器裡面springboot項目服務端口8099的映射。
    idea使用docker插件
    Selection_005.png

這裡我們可以看到Names:spring_demo的容器對應的ports還沒有端口映射。是以現在我們做的就是把該容器的8099端口映射出來。

docker run -d -p 8099:8099 37a83b7fa149
           
idea使用docker插件

Selection_006.png

我們先把原來的容器給停止,然後使用上面的指令制定映射主控端端口的方式來啟動容器。

執行完成後,檢視容器的運作情況

idea使用docker插件

Selection_007.png

到這裡我們已經可以看到ports已經顯示端口的映射了。

最後一步:就是在雲伺服器安全組政策添加一下,主控端8099的端口通路。

idea使用docker插件

_1535535426089.png

我們在外網驗證一下我們部署的springboot項目的接口:

通路:

http://IP:8099/docker/getValue
idea使用docker插件

Selection_009.png

下一篇: 防火牆