The English version of quarkus.io is the official project site. Translated sites are community supported on a best-effort basis.
このページを編集

Compose Dev Services

Compose Dev Services は、Compose 仕様を使用してカスタム dev services を定義する方法を提供します。

Quarkus Dev Services は、開発モードおよびテストモードで未構成のサービスを自動的にプロビジョニングします。サービスへの接続を提供するほとんどのエクステンションは、舞台裏で Testcontainers を使用して dev services の実装も提供します。各 dev service には、使用するコンテナーイメージなどのデフォルト設定がありますが、カスタマイズの点で制限があります。

このレベルの自動化はほとんどのユースケースに最適ですが、プロビジョニングされたサービスに対してより多くの制御と調整が必要な場合があります。

Compose Dev Services は、Compose Specification を使用してカスタムの dev services を定義できるようにすることで、Dev Services の概念を拡張します。Compose Specification は、クラウドとプラットフォームに依存しないコンテナーベースのアプリケーションを定義するための、開発者向けの標準です

Compose は、開発およびテスト目的でマルチコンテナーアプリケーションを定義および管理するために広く使用されているツールです。 通常 compose.yml という名前の YAML 記述ファイルは、アプリケーションに必要なサービス、ネットワーク、およびボリュームを定義します。 Docker Compose はリファレンス実装であり、 Podman Desktop も Compose specification のすぐに使えるサポートを提供します。

Quarkus は、プロジェクト内の compose-devservices.yml ファイル (または 特定の Compose ファイルの使用) を検出し、アプリケーションが開発モードまたはテストモードで実行されるときに定義されたサービスを起動します。dev services を提供するエクステンションは、これらのカスタムサービスを発見し、デフォルトのサービスを作成する代わりにそれらを使用します。開発モードまたはテストが停止すると、サービスは自動的に停止してクリーンアップされます。

この統合により、シームレスな開発エクスペリエンスが提供され、サービスの構成を完全に制御できます。

前提条件

Compose Dev Services を使用するには、次のものが必要です。

  1. 動作する ローカル のコンテナー環境: Docker または Podman

  2. $PATH に存在する docker または podman CLI

  3. docker-compose または podman-compose のような Compose ツール ( docker compose および podman compose コマンドは内部でこれらのバイナリを呼び出すことに注意してください):

Compose Dev Services は Compose V2 のみと互換性があります。

Compose Dev Services の使用

簡単なシナリオからより複雑なシナリオまで、例を挙げて Compose Dev Services の使用方法を見ていきましょう。

基本的な例: PostgreSQL データベース

quarkus-jdbc-postgresql エクステンションを使用するようにすでに設定されている Quarkus プロジェクトで、プロジェクトのルートに compose-devservices.yml ファイルを作成し、Compose を使用してカスタムサービスを定義できます。

services:
  db:
    image: docker.io/library/postgres:18
    healthcheck:
      test: pg_isready -U myuser -d mydb
      interval: 5s
      timeout: 3s
      retries: 3
    ports:
      - '5432'
    environment:
      POSTGRES_USER: myuser
      POSTGRES_PASSWORD: mypassword
      POSTGRES_DB: mydb

開発モードでアプリケーションを実行したりテストを実行したりすると、Compose Dev Services は、quarkus-jdbc-postgresql エクステンションによって提供されるデフォルトの dev service を使用する代わりに、compose-devservices.yml ファイルで定義された PostgreSQL サービスを自動的に起動します。

上記の構成に従って、PostgreSQL コンテナーポート 5432 はランダムなホストポートに公開され、アプリケーションデータソースは ユーザーパスワードデータベース名 などの接続情報を抽出することによって構成されます。

複数サービスの例: カスタムネットワークと依存関係

より複雑なシナリオでは、カスタムネットワークとサービスの依存関係を定義できます。

services:
  db:
    image: docker.io/library/postgres:18
    ports:
      - '5432'
    environment:
      POSTGRES_USER: myuser
      POSTGRES_PASSWORD: mypassword
      POSTGRES_DB: mydb
    networks:
      - backend
    volumes:
      - postgres-data:/var/lib/postgresql/data

  cache:
    image: docker.io/library/redis:7
    command: redis-server --save 60 1 --loglevel warning
    ports:
      - '6379'
    networks:
      - backend
    depends_on:
      - db

  message-broker:
    image: docker.io/library/rabbitmq:3.12-management
    ports:
      - '5672'
      - '15672'
    networks:
      - backend
      - frontend
    environment:
      RABBITMQ_DEFAULT_USER: guest
      RABBITMQ_DEFAULT_PASS: guest

  api-gateway:
    image: nginx:latest
    ports:
      - '8080:80'
    networks:
      - frontend
    depends_on:
      - message-broker
    volumes:
      - ./nginx.conf:/etc/nginx/nginx.conf:ro

networks:
  backend:
  frontend:

volumes:
  postgres-data:

必要に応じて compose-devservices.yml ファイルをカスタマイズして、起動順序を制御する依存関係を持つ複数のサービス、サービス通信を分離するカスタムネットワーク、およびデータ永続化と構成のためのボリュームを使用できることに注意してください。

サービスディスカバリー

Compose Dev Services によって開始されたサービスは、dev services を提供するエクステンションによって自動的に検出されます。各エクステンションは必要なサービスを検出し、それに応じてアプリケーションを構成します。

エクステンションは、サービスを検出するためにコンテナーイメージ名と公開ポートに依存します。たとえば、PostgreSQL Dev Service は、イメージ名に postgres含む サービスと、公開されたコンテナーポート 5432 を探します。

一致が見つかると、エクステンションは次のように動作します。

  1. コンテナーから接続情報 (接続 URL、クレデンシャル、データベース名など) を抽出します。

  2. 検出されたサービスを使用するようにアプリケーションを構成します

  3. 独自のデフォルト Dev Service コンテナーの作成をスキップします

サポートされているエクステンションと検出基準

以下は、dev services をサポートするプラットフォームエクステンションのリストです。

エクステンション イメージ名 公開ポート

AMQP

amqp, activemq-artemis, amq-broker, rabbitmq

5672

Apicurio Registry

apicurio

8080

DB2

db2

50000

MySQL

mysql

3306

PostgreSQL

PostgreSQL

5432

MariaDB

mariadb

3306

Microsoft SQL Server

mssql

1433

Oracle Database

oracle

1521

Kafka

kafka, strimzi, redpanda

9092

Keycloak

keycloak

8080

Kubernetes

kube-apiserver, k3s, kindest/node

6443

LRA

LRAコーディネーター

8080

MongoDB

mongo

27017

MQTT

hivemq, eclipse-mosquitto

1883

RabbitMQ

rabbitmq

5672

Pulsar

pulsar

6650

Redis

redis

6379

Infinispan

infinispan, データグリッド

11222

Elasticsearch

elasticsearch, opensearch

9200

Observability

lgtm

16686, 9411, 9090, 3000

サービスディスカバリー用のカスタムイメージの設定

サービスディスカバリーに使用されるイメージ名を、application.properties ファイルで適切なプロパティーを設定することでカスタマイズできます。例えば、カスタム Kafka イメージを使用するには:

quarkus.kafka.devservices.image-name=my-custom-kafka:latest

Dev Services を提供する各エクステンションには、イメージ名をカスタマイズするための独自の設定プロパティーがあります。詳細は、特定のエクステンションのドキュメントを参照してください。

特定の Compose ファイルの使用

デフォルトでは、Compose Dev Services はプロジェクトのルートにある compose-devservices.[yml|yaml] または docker-compose-devservices.[yml|yaml] という名前のファイルを検索します。

application.properties ファイルで quarkus.compose.devservices.files プロパティーを設定することで、使用するカスタムファイルを指定できます:

# Use a specific compose file for all modes
quarkus.compose.devservices.files=src/main/docker/compose.yml

# Use different compose files for different config profiles
%dev.quarkus.compose.devservices.files=src/main/docker/dev-compose.yml
%test.quarkus.compose.devservices.files=src/test/resources/test-compose.yml

これにより、Quarkus の設定プロファイルに応じて異なる dev service 環境を使用できます。複数のファイルをカンマで区切って指定することも可能です:

quarkus.compose.devservices.files=src/main/docker/base-compose.yml,src/main/docker/extra-services.yml

Compose プロファイルの使用

プロファイルを使用すると、Compose ファイルはアクティブなプロファイルのセットを定義でき、それによって起動されたサービスはさまざまな用途や環境に合わせて調整されます。アクティブ化するプロファイルは、 application.properties ファイルで quarkus.compose.devservices.profiles プロパティーを設定して指定できます:

services:
  db:
    image: docker.io/library/postgres:18
    profiles:
      - dev
      - local
    ports:
      - '5432'
    environment:
      POSTGRES_USER: myuser
      POSTGRES_PASSWORD: mypassword
      POSTGRES_DB: mydb
%test.quarkus.compose.devservices.profiles=dev,local

サービスの無視

Compose Dev Services では、Compose ファイルのサービスに io.quarkus.devservices.compose.ignore ラベルを追加することで、特定のサービスを検出しないように設定できます:

services:
  db:
    image: docker.io/library/postgres:18
    labels:
      io.quarkus.devservices.compose.ignore: true
    ports:
      - '5432'
    environment:
      POSTGRES_USER: myuser
      POSTGRES_PASSWORD: mypassword
      POSTGRES_DB: mydb

サービスにこのラベルが true に設定されている場合、そのサービスはサービスディスカバリーから除外され、エクステンションは Dev Services にそのサービスを使用しません。

サービスの準備完了

Compose Dev Services は、アプリケーションがサービスを使用しようとする前に、サービスが準備完了であることを確認するためのいくつかの方法を提供します。

ヘルスチェック

Compose Dev Services は、Compose ファイルで定義されたヘルスチェックを尊重します。アプリケーションがサービスを使用しようとする前に、サービスが準備完了であることを確認するために、サービスのヘルスチェックを設定することをお勧めします:

services:
  db:
    image: docker.io/library/postgres:18
    healthcheck:
      test: pg_isready -U myuser -d mydb
      interval: 5s
      timeout: 3s
      retries: 3
    ports:
      - '5432'
    environment:
      POSTGRES_USER: myuser
      POSTGRES_PASSWORD: mypassword
      POSTGRES_DB: mydb

ログを待機

Compose Dev Services では、特定のログメッセージがコンテナーログに表示されるまで待機してから、サービスが準備完了と見なすように設定できます。これは、ヘルスチェックを提供しないが、準備完了時にメッセージをログに出力するサービスに役立ちます。

特定のログメッセージを待機するには、 io.quarkus.devservices.compose.wait_for.logs というプレフィックスを持つラベルをサービスに追加します:

services:
  app:
    image: my-application:latest
    ports:
      - '8080'
    labels:
      io.quarkus.devservices.compose.wait_for.logs: .*Server is now running.*

数値サフィックスの値を設定することで、ログメッセージが何回表示されるべきかを指定することもできます: io.quarkus.devservices.compose.wait_for.logs.3: .*Worker started.*

ポートを待機

デフォルトでは、Compose Dev Services は、サービスが準備完了と見なす前に、公開されているすべてのポートが利用可能になるまで待機します。この動作はラベルを使用してカスタマイズできます:

services:
  app:
    image: my-application:latest
    ports:
      - '8080'
    labels:
      # Change to `true` to disable waiting for ports
      io.quarkus.devservices.compose.wait_for.ports.disable: false
      # Or set a custom timeout for port waiting
      io.quarkus.devservices.compose.wait_for.ports.timeout: "30s"

グローバルタイムアウト

Dev Services の起動におけるグローバルタイムアウトは、 quarkus.devservices.timeout プロパティーを使用して設定できます:

quarkus.devservices.timeout=120s

このプロパティーは、すべての Dev Services が起動するまでに待機する最大時間を設定します。デフォルトは 60 秒です。

サービスの順序付け

Compose Dev Services は、Compose ファイルで定義されている順序でサービスを起動します。特定の順序でサービスを起動する必要がある場合は、 depends_on 属性を使用できます:

services:
  db:
    image: docker.io/library/postgres:18
    ports:
      - '5432'
    environment:
      POSTGRES_USER: myuser
      POSTGRES_PASSWORD: mypassword
      POSTGRES_DB: mydb

  app:
    image: my-application:latest
    ports:
      - '8080'
    depends_on:
      - db

サービス設定をアプリケーションに公開する

Compose Dev Services は、検出されたサービスの構成をアプリケーションに自動的に公開します。たとえば、次の compose サービス記述でデータベースサービスが検出された場合:

services:
  db:
    image: docker.io/library/mysql:9.5
    ports:
      - '9906:3306'
    labels:
      io.quarkus.devservices.compose.jdbc.parameters: characterEncoding=UTF-8&useUnicode=true
    environment:
      MYSQL_USER: myuser
      MYSQL_PASSWORD: mypassword
      MYSQL_DATABASE: mydb

以下のアプリケーションプロパティーが自動的に設定されます:

quarkus.datasource.username=myuser
quarkus.datasource.password=mypassword
quarkus.datasource.jdbc.url=jdbc:mysql://localhost:9906/mydb?characterEncoding=UTF-8&useUnicode=true

実際の値はサービスラベルと環境変数から抽出されます。ホストは Docker ホストの IP アドレスに設定され、ポートはホスト上のマッピングされたポートに設定されます。

データベースサービスの場合、 io.quarkus.devservices.compose.jdbc.parameters ラベルが設定されていると、そのパラメーターが JDBC URL に追加されます。

サービスラベルを使用したカスタム設定マッピング

サービスラベルを使用して、環境変数と公開ポートをアプリケーション設定プロパティーにマッピングする方法をカスタマイズできます。

環境変数のマッピング

環境変数を特定のアプリケーション設定プロパティーにマッピングするには、 io.quarkus.devservices.compose.config_map.env.<env-var-name> ラベルを使用します。

MQTT ブローカーの例を見てみましょう:

services:
  mqtt:
    image: eclipse-mosquitto:2.0.21
    ports:
    - '1883'
    environment:
      MQTT_USER: user
      MQTT_PASSWORD: pass
    labels:
      io.quarkus.devservices.compose.config_map.env.MQTT_USER: mp.messaging.connector.smallrye-mqtt.username
      io.quarkus.devservices.compose.config_map.env.MQTT_PASSWORD: mp.messaging.connector.smallrye-mqtt.password
    volumes:
      - ./conf:/mosquitto/config

mosquitto.conf ファイルを含む ./conf の場合:

persistence true
persistence_location /mosquitto/data/
log_dest file /mosquitto/log/mosquitto.log
listener 1883

allow_anonymous false
password_file /mosquitto/config/password.txt

ユーザーと暗号化されたパスワードを含む password.txt ファイルの場合:

user:$7$101$EyGShytu3v+...==

この例では:

  • user を持つ MQTT_USER 環境変数は、 mp.messaging.connector.smallrye-mqtt.username プロパティーにマッピングされます

  • pass を持つ MQTT_PASSWORD 環境変数は、 mp.messaging.connector.smallrye-mqtt.password プロパティーにマッピングされます

password_filemosquitto.conf で設定されている場合、環境変数はユーザー名とパスワードを設定するためではなく、それらをアプリケーションプロパティーにマッピングするために使用されます。

公開ポートのマッピング

公開ポートを特定のアプリケーション設定プロパティーにマッピングするには、 io.quarkus.devservices.compose.config_map.port.<container-port> ラベルを使用します:

services:
  my-service:
    image: my-service-image
    ports:
      - '7432:5432'
      - '9080:8080'
    labels:
      # Map port 5432 to quarkus.datasource.jdbc.port
      io.quarkus.devservices.compose.config_map.port.5432: quarkus.datasource.jdbc.port
      # Map port 8080 to quarkus.http.port
      io.quarkus.devservices.compose.config_map.port.8080: quarkus.http.port

上記の例では: - ポート 7432 は quarkus.datasource.jdbc.port プロパティーにマッピングされます - ポート 9080 は quarkus.http.port プロパティーにマッピングされます

マッピングされたプロパティーには、コンテナーポートにマッピングされたホストポートが含まれます。動的ポートマッピング (例: - '7432:5432' ではなく - '5432') を使用している場合、これはコンテナーポートとは異なる場合があります。

実行中のコンテナーへのポートマッピングの公開

場合によっては、コンテナーは実行時にマッピングされているホストポートを知る必要があります。たとえば、Kafka ブローカーは外部からアクセス可能なアドレスをクライアントにアドバタイズする必要があります。

io.quarkus.devservices.compose.exposed_ports ラベルを使用して、ポートマッピングが書き込まれるコンテナー内のファイルパスを指定できます:

services:
  kafka:
    image: apache/kafka-native:3.9.0
    ports:
      - '9092'
    labels:
      io.quarkus.devservices.compose.exposed_ports: /etc/kafka/docker/ports

コンテナーが起動すると、Quarkus は指定されたパスに環境変数形式のポートマッピングを含むファイルをコピーします:

PORT_9092=54321
PORT_8080=12345
# ... other ports as needed

各行は PORT_<containerPort>=<hostPort> の形式に従います。ここで containerPort はコンテナーによって公開されるポートであり、 hostPort はホストに動的に割り当てられるポートです。コンテナーコマンドはファイルが存在するまで待機し、このファイルをソースとしてこれらのマッピングに環境変数としてアクセスできます:

#!/bin/bash

# Wait for the ports file to be created
while [ ! -f /etc/kafka/docker/ports ]; do
  sleep 0.1;
done;

# Source the file to load PORT_* variables
source /etc/kafka/docker/ports;

# Use the port mappings
export KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://localhost:$PORT_9092;
# Run the Kafka broker executable
/etc/kafka/docker/run

Compose でのサービスライフサイクルの制御

Compose Dev Services は、サービスの起動、停止、およびアプリケーションインスタンス間での共有方法を制御するためのいくつかの設定オプションを提供します。

アプリケーションが開発モードまたはテストモードで起動すると、Compose Dev Services は設定に基づいてサービスを起動するか、すでに実行中のサービスを検出するかを決定します。アプリケーションが停止すると、Compose Dev Services は起動したサービスを停止します。

Compose プロジェクト名

Compose は、異なる Compose プロジェクトを名前空間化して分離するために、サービス、ネットワーク、ボリュームなどのリソースを識別するためにプロジェクト名を使用します。これにより、アプリケーションが停止したときに、既存のリソースの検出とリソースのクリーンアップが可能になります。

Compose Dev Services は、次のようにプロジェクト名を決定します。

  1. quarkus.compose.devservices.project-name プロパティーが設定されている場合、それがプロジェクト名として使用されます。

  2. Compose ファイルでトップレベルの name 属性が指定されている場合、それがプロジェクト名として使用されます。

  3. それ以外の場合、デフォルト名 quarkus-devservices-<application-name> が選択されます。

既に起動している Compose Services の検出

プロジェクト名が決定されると、Compose Dev Services はまず、そのプロジェクト名で既存のサービスを検出を試みます。

既に起動している Compose プロジェクトは、同じプロジェクト名でローカルで実行されている別の Quarkus アプリケーションによって起動されたか、または docker compose up もしくは podman compose up コマンドを使用して手動で起動された可能性があります。

サービスがどのように起動されたかに関わらず、Compose Dev Services は dev services と挿入された設定プロパティーを設定しますが、アプリケーションが停止してもサービスは停止しません。

プロジェクト内に Compose ファイルが見つからず、quarkus.compose.devservices.project-name が設定されていない場合、Compose Dev Services はサービスを検出を試みず、無効化されます。

テストに使用される Compose Dev Services

Quarkus テストの場合、テスト実行と開発モードサービスの実行との間の分離を確実にするため、デフォルトでは quarkus-devservices-<application-name>-<random-suffix> 形式の生成されたプロジェクト名が使用されます。Compose ファイルでトップレベルの name 属性が指定されている場合、<compose-name>-<random-suffix> 形式のプロジェクト名が使用されます。

この方法により、Quarkus テストは Compose ファイルで定義されたサービスの個別のコピーを開始します。たとえば、開発モードで連続テストを実行する場合、テストは独自の分離されたサービスセットを持つことになります。

この動作は、quarkus.compose.devservices.reuse-project-for-tests=true プロパティーを設定することで変更できます。これにより、テストは開発モードで個別に起動されたサービスを再利用できます。

起動/停止コントロールの使用

デフォルトのライフサイクルでは、Compose Dev Services はアプリケーションの起動と停止時にサービスを自動的に起動および停止します。より詳細な制御には、start-servicesstop-services の設定プロパティーを使用できます。

quarkus.compose.devservices.start-services=false が設定されている場合、Compose Dev Services は、決定されたプロジェクト名で既存のサービスを検出を試みるだけで、Compose ファイルが存在しても新しいサービスは起動しません。

quarkus.compose.devservices.stop-services=false が設定されている場合、アプリケーションが停止した後もサービスは実行を継続します。これにより、サービスを他のアプリケーションや同じアプリケーションの後続の実行で再利用できます。

quarkus.compose.devservices.stop-timeout プロパティーでサービスの停止タイムアウトを設定することもできます。タイムアウト後、Compose Dev Services はサービスを強制的に停止します。高速なクリーンアップのために、デフォルトのタイムアウトは意図的に短く (1 秒) 設定されていますが、必要に応じて長くすることができます。

# application.properties
quarkus.compose.devservices.stop-timeout=10s

既存の Dev Services との関係

Compose Dev Services は、Quarkus エクステンションによって提供される既存の Dev Services の実装と連携して動作します。サービス検出プロセスは次の優先順位に従います。

  1. Dev Service の実装は、まず共有サービスラベルを介してサービス (例: 他のアプリケーションによって開始されたサービス) の特定を試みます。

  2. 共有サービスが見つからない場合、Compose Dev Services によって開始されたサービスの検出にフォールバックします。

  3. Compose サービスが見つからない場合、デフォルトの Dev Services の実装が使用されます (通常は Testcontainers ベースのサービスが起動されます)。

Compose Dev Service がプロジェクトを作成または検出すると、通常の dev service の実装は Compose プロジェクトのデフォルトネットワーク内にコンテナーを作成します。これにより、すべてのサービスが同じネットワーク内でサービス名をホスト名として使用して相互に通信できるようになります。

設定リファレンス

ビルド時に固定される設定プロパティ - その他の設定プロパティは実行時にオーバーライド可能です。

Configuration property

デフォルト

Compose dev service enabled or disabled

Environment variable: QUARKUS_COMPOSE_DEVSERVICES_ENABLED

Show more

boolean

true

List of file paths relative to the project root for Compose dev service configuration, if not provided will look for compose files in the project root

Environment variable: QUARKUS_COMPOSE_DEVSERVICES_FILES

Show more

文字列のリスト

Name of the compose project, used to discover running containers, if not provided a project name will be generated

Environment variable: QUARKUS_COMPOSE_DEVSERVICES_PROJECT_NAME

Show more

string

Compose profiles to activate

Environment variable: QUARKUS_COMPOSE_DEVSERVICES_PROFILES

Show more

文字列のリスト

List of additional options to pass to compose command

Environment variable: QUARKUS_COMPOSE_DEVSERVICES_OPTIONS

Show more

文字列のリスト

Whether to run compose up and start containers at startup, when disabled, services are discovered by project name

Environment variable: QUARKUS_COMPOSE_DEVSERVICES_START_SERVICES

Show more

boolean

true

Whether to run compose down and stop containers at shutdown

Environment variable: QUARKUS_COMPOSE_DEVSERVICES_STOP_SERVICES

Show more

boolean

true

Whether to use test containers Ryuk resource reaper to clean up containers

Environment variable: QUARKUS_COMPOSE_DEVSERVICES_RYUK_ENABLED

Show more

boolean

true

Whether to remove volumes on compose down

Environment variable: QUARKUS_COMPOSE_DEVSERVICES_REMOVE_VOLUMES

Show more

boolean

true

Which images to remove on compose down

Locally built images, without custom tags are removed by default.

Environment variable: QUARKUS_COMPOSE_DEVSERVICES_REMOVE_IMAGES

Show more

all, local

Env variables to pass to all Compose instances

Environment variable: QUARKUS_COMPOSE_DEVSERVICES_ENV_VARIABLES__ENV_VARIABLES_

Show more

Map<String,String>

Scale configuration for services: Configure the number of instances for specific services

Environment variable: QUARKUS_COMPOSE_DEVSERVICES_SCALE__SCALE_

Show more

Map<String,Integer>

Whether to tail container logs to the console

Environment variable: QUARKUS_COMPOSE_DEVSERVICES_FOLLOW_CONTAINER_LOGS

Show more

boolean

false

Whether to build images before starting containers.

When not provided, Compose images are built per-service pull-policy. When true, forces build of all images before starting containers. When false, skips re-building images before starting containers.

Environment variable: QUARKUS_COMPOSE_DEVSERVICES_BUILD

Show more

boolean

Whether to reuse the project for tests, when disabled, a new project is created for each test run

Environment variable: QUARKUS_COMPOSE_DEVSERVICES_REUSE_PROJECT_FOR_TESTS

Show more

boolean

false

Timeout for stopping services, after the timeout the services are forcefully stopped,

Environment variable: QUARKUS_COMPOSE_DEVSERVICES_STOP_TIMEOUT

Show more

Duration 

1S

期間フォーマットについて

期間の値を書くには、標準の java.time.Duration フォーマットを使います。 詳細は Duration#parse() Java API documentation を参照してください。

数字で始まる簡略化した書式を使うこともできます:

  • 数値のみの場合は、秒単位の時間を表します。

  • 数値の後に ms が続く場合は、ミリ秒単位の時間を表します。

その他の場合は、簡略化されたフォーマットが解析のために java.time.Duration フォーマットに変換されます:

  • 数値の後に hms が続く場合は、その前に PT が付けられます。

  • 数値の後に d が続く場合は、その前に P が付けられます。

関連コンテンツ