2017-10-10 56 views
0

是Spring引導的新手。我需要創建微服務,並需要由docker運行。我在這裏附上了我的項目結構。每次我需要手動啓動微服務時遇到的問題。例如,我有4個微服務,我只是手動啓動這個服務。但是所有的微服務應該在部署到docker時自行啓動。如何實現這一點。 Project Structure如何使用docker運行微服務

此外我正在使用Cassandra數據庫。

+0

舊的文章我的,[使用Spring啓動,澤西島,揚鞭和泊塢微服務( http://tech.asimio.net/2016/04/05/Microservices-using-Spring-Boot-Jersey-Swagger-and-Docker.html)通過該練習,構建jar文物,構建和部署Docker映像Docker集線器並啓動這種映像的Docker容器。我建議儘管將每個服務分成它自己的scm回購,這是根據[12因子應用程序](https://12factor.net/)的建議。 – ootero

回答

0

我不知道這是否是最好的解決辦法,但它是我使用的一個: 第一彈簧引導行家說插件來創建一個可執行的JAR:

<configuration> 
    <executable>true</executable> 
</configuration> 

之後,你可以在init.d中添加您的應用程序作爲服務,並在容器啓動時啓動它。 你可以在這裏找到一個更好的解釋:http://www.baeldung.com/spring-boot-app-as-a-service

0

請看看春季啓動和碼頭化這個應用程序的衆多教程。

Here是其中一個解釋每一步是必要

  1. 構建應用程序的JAR文件
  2. 創建Dockerfile 您的碼頭工人形象在這個dockerfile您創建一個環境,比如你將有一個新的安裝的Linux服務器,並且定義了運行應用程序所需的軟件:例如java。看看現有的圖像,如anapsix/alpine-java
  3. 現在想想你需要做什麼來在這個環境中啓動你的應用程序:java -jar --some-options -location-of-your-jar.jar
  4. 確保能夠通過公開Docker端口,以便您可以看到正在運行。

因爲我很傷心,如果這些指令對你沒有幫助,那麼請閱讀Docker和dockerizing spring引導應用程序的教程。

0

您應該使用docker-compose。管理版本和版本的最佳方法是爲專用的碼頭圖像創建自己的存儲庫(nexus就是一個例子)。

在泊塢窗,譜寫你能描述你所有的基礎設施,創建服務,網絡連接服務,溝通等服務,讓我覺得你應該走這條路創造好的發展思想和生產構建流程爲您的microService應用

對於cassandra和其他已知的服務,您可以在https://hub.docker.com上找到首選圖像。

在每個微服務中,您應該有Dockerfile,然後在解決方案的主目錄中,您可以創建帶有服務定義的docker-compose.yml文件。

您也可以在Docker容器中構建您的微服務。在谷歌閱讀更多關於「使用docker的Java應用程序構建流程」。

所有關於碼頭工人組成,你可以在這裏找到:https://docs.docker.com/compose/

所有關於碼頭工人羣,你可以在這裏找到:https://docs.docker.com/engine/swarm/

相關問題