返回

Spring Boot 应用与 PostgreSQL 的完美结合:Docker Compose 强强联手

见解分享

Docker Compose中的Spring Boot应用程序,附带PostgreSQL

引言

在现代应用程序开发中,容器化已成为一种流行的做法,它使开发人员能够轻松部署和管理其应用程序。Docker Compose是一个编排工具,可以简化在Docker中运行多容器应用程序的过程。本文将指导您如何使用Docker Compose在Docker容器中配置Spring Boot应用程序和PostgreSQL数据库。

先决条件

  • Docker Desktop已安装
  • Docker Compose已安装
  • Java开发环境(JDK 8或更高版本)
  • PostgreSQL已安装(可选,仅用于本地开发)

步骤 1:创建 Spring Boot 应用程序

创建一个新的Spring Boot应用程序,或使用现有的应用程序。确保应用程序已正确配置为使用PostgreSQL数据库。

步骤 2:创建 Dockerfile

创建一个名为Dockerfile的文件,并添加以下内容:

FROM openjdk:8-jdk-slim

WORKDIR /app

COPY build/libs/my-app.jar /app/

ENTRYPOINT ["java", "-jar", "/app/my-app.jar"]

此Dockerfile定义了一个基于OpenJDK 8的镜像,并将在工作目录中复制Spring Boot应用程序的JAR文件。当容器启动时,它将执行JAR文件中的入口点。

步骤 3:创建 docker-compose.yml 文件

创建一个名为docker-compose.yml的文件,并添加以下内容:

version: '3.7'

services:
  app:
    build: .
    ports:
      - "8080:8080"
  db:
    image: "postgres:13"
    environment:
      POSTGRES_PASSWORD: my-secret-password

此docker-compose.yml文件定义了一个具有两个服务的应用程序:

  • app: Spring Boot应用程序,基于您在步骤2中创建的Dockerfile构建。它将映射端口8080到容器内的端口8080。
  • db: PostgreSQL容器,公开端口5432。环境变量POSTGRES_PASSWORD已设置为my-secret-password

步骤 4:运行应用程序

转到包含docker-compose.yml文件和Dockerfile的目录。运行以下命令以启动应用程序:

docker-compose up

这将构建应用程序和数据库容器并启动它们。您现在可以通过转到localhost:8080在浏览器中访问Spring Boot应用程序。

SEO 优化

结论

通过使用Docker Compose,您可以轻松地在Docker容器中部署和管理Spring Boot应用程序和PostgreSQL数据库。这使您能够在开发、测试和生产环境中一致且可移植地运行应用程序。通过遵循本文中的步骤,您可以利用Docker Compose的强大功能来简化应用程序的部署和管理。