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伺服器執行情況,多了遠端部署新增的映象和容器。