如何使用docker运行微服务

新手到春季启动。 我需要创build微服务,需要由docker运行。 我在这里附上我的项目结构。 每次我需要手动启动微服务的问题。 例如,我有4个微服务,我只是手动这个服务。 但是所有的微服务应该在部署到docker时自行启动。 如何实现这一点。 项目结构

另外我正在使用Cassandra数据库。

我不知道这是否是最好的解决scheme,但它是我使用的一个:首先说到春季启动maven插件来创build一个可执行的jar:

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

之后,您可以在init.d中将您的应用程序作为服务添加,并在容器启动时启动。 你可以在这里find一个更好的解释: http : //www.baeldung.com/spring-boot-app-as-a-service

请看看Spring引导和dockerizing这个应用程序的许多教程。

这是解释每一个必要的步骤

  1. 构build应用程序作为jar文件
  2. 使用Dockerfile创buildDocker镜像在这个Docker文件中,您将创build一个像您一样的环境,并拥有一个新的安装程序linux服务器,并定义运行应用程序所需的软件:如java。 看看像anapsix / alpine-java的现有图像。
  3. 现在想想在这个环境中启动你的应用需要做些什么:java -jar –some-options -location-of-your-jar.jar
  4. 确保能够通过展示Docker端口来访问您的应用程序,以便您可以看到正在运行的应用程序。

如果这些说明对你没有帮助,那么我很伤心,那么请阅读Docker和dockerizing spring引导应用程序的教程。

你应该使用docker-compose。 pipe理版本和版本的最佳方法是为专用的docker图像创build自己的存储库(nexus就是一个例子)。

在docker-compose中,您可以描述您的所有基础架构,创build服务,networking,连接服务以交stream其他服务,所以我认为您应该这样为您的微服务应用程序创build良好的开发和生产构buildstream程

对于cassandra和其他已知的服务,您可以在https://hub.docker.com上find最喜欢的图片。

在每个微服务中你应该有Dockerfile,然后在你的解决scheme的主目录中,你可以创build带有服务定义docker-compose.yml文件。

您也可以在Docker容器中构build您的微服务。 在谷歌阅读更多关于“使用docker的Java应用程序构buildstream程”。

所有关于docker组成你可以在这里find: https://docs.docker.com/compose/ : https://docs.docker.com/compose/

所有关于docker群你可以在这里find: https://docs.docker.com/engine/swarm/ : https://docs.docker.com/engine/swarm/