Docker Compose
本節包含與 Spring Boot 中 Docker Compose 支援相關的主題。
自定義 JDBC URL
使用 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
,停止一個應用程式也會關閉其他仍在執行的應用程式所共享的服務。將其設定為 start-only
在應用程式停止時不會停止共享服務,但有一個需要注意的地方是,如果你關閉所有應用程式,服務仍然會保持執行。你可以透過在包含 compose.yaml
檔案的目錄中執行命令列命令 docker compose stop
來手動停止服務。