1. 程式人生 > >IDEA建立springboot專案部署到遠端Docker

IDEA建立springboot專案部署到遠端Docker

準備

安裝好IDEA

安裝Docker,開啟遠端控制,這裡先採用非認證模式

 

安裝IDEA外掛

安裝Docker integration外掛,如果沒安裝,按照下圖指引方式安裝外掛。

配置Docker

開啟小扳手(setting)找到docker,輸入虛擬機器ip,不出意外會連線成功的。

新建springboot專案

用idea嚮導新建一個springboot專案web-demo,新增測試類HelloController

// FILE HelloController 

@RestController
public class HelloController {

    private static final Logger log = LoggerFactory.getLogger(HelloController.class);
    @RequestMapping("/")
    public String index(){

        log.warn("HelloController:index");

        return "Hello Dcoker!" + new Date().toString();

    }
}

 

編寫Dockerfile檔案

在專案根目錄下新增Dockerfile檔案,如果Dockerfile放到了子目錄,會造成ADD和COPY指令無法訪問打包檔案的問題

Dockerfile檔案內容如下:


FROM frolvlad/alpine-oraclejdk8:slim
VOLUME /tmp
ADD target/web-demo-0.0.1-SNAPSHOT.jar app.jar
ENTRYPOINT ["java","-jar","/app.jar"]

FROM frolvlad/alpine-oraclejdk8:指Docker Hub上官方提供的java映象,有了這個基礎映象後,Dockerfile可以通過FROM指令直接獲取它的狀態——也就是在容器中java是已經安裝的,接下來通過自定義的命令來執行Spring Boot應用。
VOLUME /tmp:建立/tmp目錄並持久化到Docker資料資料夾,因為Spring Boot使用的內嵌Tomcat容器預設使用/tmp作為工作目錄。
ADD target/web-demo-0.0.1-SNAPSHOT.jar app.jar:將編譯目標jar包複製到/app.jar
ENTRYPOINT:表示容器執行後預設執行的命令

編輯Docker部署配置

1、配置名稱

2、Dockerfile檔案相對路徑

3、映象名稱

4、容器名稱

5、埠對映,容器內部埠8080,對映到作業系統的18080

6、增加Maven指令,表示在執行Dockerfile之前先編譯打包專案

釋出專案Docker

點選右鍵選單或者三角按鈕,釋出測試專案,如果順利可以看到專案打包,遠端釋出,程式執行一些日誌;第一次執行docker下載映象檔案,要稍稍等待一會。專案釋出成功後,可以在瀏覽器中查詢專案執行情況。

 

再檢視下Docker伺服器執行情況,多了遠端部署新增的映象和容器。