在Dockers中Spring启动微服务部署

时间:2018-01-08 06:35:43

标签: amazon-web-services docker microservices

我需要开发一个spring boot微服务,需要在docker中部署。现在我开发了一个样本微服务。当我学习Docker和容器部署时,我发现了许多用于安装docker和构建映像以及将应用程序作为容器包装运行的文档。在这里,我对部署过程有些怀疑。我在下面添加我的混淆,

  • 如果我需要在docker中部署4个spring boot微服务,我是否需要为所有人创建单独的Image?或者我可以在所有弹簧启动微服务中使用相同的docker文件吗?

  • 我正在使用postgreSQL数据库。那么我可以将该连接包含到docker镜像文件中吗?或者我需要单独管理?

我是容器,AWS和Spring世界的初学者,刚刚开始探索。所以面对很多困惑。任何人都可以帮忙澄清我的困惑吗?

2 个答案:

答案 0 :(得分:1)

  • 如果你有四个不同的Spring Boot应用程序,我建议创建四个不同的Dockerfiles,并从这些文件构建四个不同的图像。基本上将一个Dockerfile放在每个Spring应用程序文件夹中。
  • 可以通过在代码中编写PostgreSQL凭据(主机名,用户名和密码)来构建它。这是最简单的。

如果您使用AWS和ECS(弹性容器服务)或EC2来运行您的Docker容器,您可以将凭据存储在EC2参数存储中,并让您的应用程序在启动时获取它们,但这需要更多的AWS知识和您必须使用AWS SDK从应用程序中获取凭据。以下是StackOverflow问题:Accessing AWS parameter store values with custom KMS key Ask Question

答案 1 :(得分:0)

  1. 所有微服务可能只有一个映像,但是它不是一个好的设计,因此不建议使用。始终尝试将事物彼此分离。根据您的情况,为每个微服务创建单独的映像(单独的Dockerfile)。
  2. 对于第二个问题,同样的事情,也为数据库创建一个单独的映像(一个Dockerfile)。对于凭据,您可以遵循Jonatan的建议。