Docker Compose

このセクションには、Spring Boot での Docker Compose サポートに関するトピックが含まれています。

JDBC URL のカスタマイズ

JdbcConnectionDetails を Docker Compose とともに使用する場合、org.springframework.boot.jdbc.parameters ラベルをサービスに適用することで、JDBC URL のパラメーターをカスタマイズできます。例:

services:
  postgres:
    image: 'postgres:15.3'
    environment:
      - 'POSTGRES_USER=myuser'
      - 'POSTGRES_PASSWORD=secret'
      - 'POSTGRES_DB=mydb'
    ports:
      - '5432:5432'
    labels:
      org.springframework.boot.jdbc.parameters: 'ssl=true&sslmode=require'

この Docker Compose ファイルを配置すると、使用される JDBC URL は jdbc:postgresql://127.0.0.1:5432/mydb?ssl=true&sslmode=require になります。

複数のアプリケーション間でサービスを共有する

複数のアプリケーション間でサービスを共有する場合は、いずれかのアプリケーションで compose.yaml ファイルを作成し、他のアプリケーションで構成プロパティ spring.docker.compose.file を使用して compose.yaml ファイルを参照します。また、spring.docker.compose.lifecycle-management を start-only に設定する必要があります。デフォルトは start-and-stop であり、1 つのアプリケーションを停止すると、まだ実行中の他のアプリケーションの共有サービスもシャットダウンされるためです。start-only に設定すると、アプリケーションの停止時に共有サービスは停止されませんが、すべてのアプリケーションをシャットダウンしてもサービスは実行されたままになることに注意してください。compose.yaml ファイルが含まれるディレクトリ内のコマンドラインで docker compose stop を実行することにより、サービスを手動で停止できます。