須要在客戶現場部署測試demo,因爲部署環境不提供外網環境,應用所需依賴沒法經過外網下載。html
初步的解決方案,在本地起一個maven的容器,將代碼copy到maven的容器內,進行打包操做,生成緩存,再將容器commit成新的Maven鏡像。docker
1.如今本地拉一個maven的鏡像並生成容器緩存
2.經過docker copy 將代碼複製到容器中,並經過mvn 命令打包maven
3.經過docker commit 將生成的容器打包成新的鏡像。測試
重點來了,上述過程嘗試了無數遍,發現緩存並無被commit進新的鏡像。3d
罪魁禍首就是它。沒錯,這個目錄是經過Volumes掛載進去的......說點什麼好呢......xml
看來這個方案不可用!就到此結束這篇微博吧......浪費你們這麼多時間......htm
開玩笑的,不過當時我確實蠻絕望的。而後就想到了如下這個很dirty的辦法:blog
找到maven的settings.xml文件,而後把默認的本地緩存目錄改掉:部署
好比改爲這樣,而後重複上面第二第三步的操做就搞定了。
固然這是個臨時的解決方案,從長遠的角度上來說,這是個不靠譜的方法。
那麼有什麼靠譜的辦法呢:好比搭建一個nexus,artifactory等這類的本地倉庫。
相關文章: