【问题标题】:Dockerizing microservice using Spring Boot and Postgres使用 Spring Boot 和 Postgres 对微服务进行 Dockerizing
【发布时间】:2018-07-03 03:15:57
【问题描述】:
我正在尝试使用 PostgreSQL 数据库连接开发示例 Spring Boot 微服务。我需要将它部署到 AWS ECS 容器服务中。我怀疑我需要为 Java + PostgreSQL 构建映像,并且我需要推送到 AWS ECS 存储库。
如何使用我的 Dockerfile 将 Java 和 PostgreSQL 基础镜像合并为一个?我只在 Dockerfile 的 FROM 子句中使用了 java:8。我需要为 Java + PostgreSQL 构建一个 Docker 映像。
【问题讨论】:
标签:
java
postgresql
docker
【解决方案1】:
您似乎可以使用 multi-stage builds 将所有内容放在一个 Dockerfile 中。
但是我会做两个独立的容器并部署两个独立的服务,所以当你想在生产模式下部署它时,你不需要做任何改变。
您是否考虑到数据在容器中不是持久的?我的意思是,如果您将 Postgres 放在容器上,那么当您重新启动容器时,数据将会丢失。您可以使用卷来持久化数据并将其存储在容器主机实例中。
如果您不打算使用 ECS 自动缩放,我会使用 docker-compose 在 EC2 实例上部署它,使用卷来存储 Postgres 数据,然后如果您需要迁移到 ECS,请将 Postgres 托管在外部主机中并从 ECS 集群连接到它。