Docker Compose

本節包含與 Spring Boot 中的 Docker Compose 支援相關的主題。

自訂 JDBC URL

當將 JdbcConnectionDetails 與 Docker Compose 搭配使用時,JDBC URL 的參數可以透過將 org.springframework.boot.jdbc.parameters 標籤應用於服務來進行自訂。例如

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,而停止一個應用程式也會關閉其他仍在運行的應用程式的共享服務。將其設定為 start-only 不會在應用程式停止時停止共享服務,但需要注意的是,如果您關閉所有應用程式,服務仍會保持運行。您可以透過在包含 compose.yaml 檔案的目錄中,於命令列執行 docker compose stop 來手動停止服務。