周末在家做了一個實驗:
- 將Docker通過插件的方式集成到SpringBoot中
- 然后通過Maven命令根據項目中的Dockerfile自動生成Docker鏡像,同時將鏡像推送到遠程Linux服務器(遠程服務器已經提前裝好了Docker)
- 然后在服務器通過啟動Docker來啟動SpringBoot項目,並訪問接口。
第一步:將Docker通過插件的方式集成到SpringBoot中
項目結構
同時,需要給這個插件開通權限(否則會碰到refuse、0.0.0.0等問題),在Maven的pluginGroups節點,加上如下內容:
Dockerfile內容:
開通服務器的DockerAPI,以便我可以從本機將鏡像推送到服務器去。
將服務器和DockerAPI的地址配置到環境變量中:
第二步:然后通過Maven命令根據項目中的Dockerfile自動生成Docker鏡像並推送到Linux服務器
另外,注意,我的項目中碰到了找不到main-class的問題,所以,我在這里指定了main-class.
上面就我是我們上傳的鏡像。
我在這中間碰以了invalid or corrupt jarfile的錯誤,網上說是改MATA-INFO里面的文件,但我的問題不是這樣,我是Dockerfile中間的內容寫錯了,每個人碰到的問題都不一樣,所以,別人的場景未必適合你,需要進行斟酌。
第三步:然后在服務器通過啟動Docker來啟動SpringBoot項目,並訪問接口。
以下是在Linux本機訪問(有時無法訪問的會出現另外一些問題,比如防火牆未關閉等,這個可以參看網上的文章)。
遠程訪問。