統合テストの前に、docker コンテナー内docker-maven-plugin
で実行redis
とインスタンスを作成しようとしています。以下は、ファイルPostgreSQL 11
内の私のセットアップです。pom.xml
<plugin>
<groupId>io.fabric8</groupId>
<artifactId>docker-maven-plugin</artifactId>
<version>${docker-maven.version}</version>
<configuration>
<verbose>true</verbose>
<images>
<image>
<alias>docker-dbs</alias>
<external>
<type>compose</type>
<composeFile>docker-compose-test.yml</composeFile>
</external>
<run>
<wait>
<time>5000</time>
<log>Docker databases are ready to accept connections</log>
</wait>
</run>
</image>
</images>
</configuration>
<executions>
<execution>
<id>start-docker-dbs</id>
<phase>pre-integration-test</phase>
<goals>
<goal>build</goal>
<goal>start</goal>
</goals>
</execution>
<execution>
<id>stop-docker-dbs</id>
<phase>post-integration-test</phase>
<goals>
<goal>stop</goal>
</goals>
</execution>
</executions>
</plugin>
docker-compose-test.yml
以下を含む指定されたファイルで定義されたサービスを実行しようとしています:
version: "3.8"
alias: docker-dbs
services:
redis:
image: "redis:alpine"
command: redis-server
environment:
- REDIS_REPLICATION_MODE=master
ports:
- "5378:6379"
postgres:
image: "postgres:11"
restart: always
environment:
POSTGRES_USER: admin
POSTGRES_PASSWORD: admin
POSTGRES_DB: topfind-accounts-test-db
ports:
- "4431:5432"
手動で実行しようとしたため、このファイルが正しいことはわかっていますが、maven
必要なときに実行することはできません。なぜこれがうまくいかないのかについての提案はありますか?