[我的目标是在仅使用docker-maven-plugin构建我的Spring Boot应用程序的同时启动MSSQL Docker容器,因此在将来运行'mvn clean install'时,我希望我的构建跳过尝试启动正在运行的docker容器的操作已经报告了我的数据库容器已经启动并且构建中断的错误。pom.xml中是否可以进行任何配置,以便仅在尚未启动数据库容器的情况下才能启动它?也许某种检查可以跳过启动数据库容器(如果已经运行)?我当前在pom.xml中的配置:
<plugin>
<groupId>io.fabric8</groupId>
<artifactId>docker-maven-plugin</artifactId>
<executions>
<execution>
<id>prepare-it-database</id>
<phase>pre-integration-test</phase>
<goals>
<goal>start</goal>
</goals>
<configuration>
<images>
<image>
<name>mcr.microsoft.com/mssql/server</name>
<alias>sa</alias>
<run>
<env>
<ACCEPT_EULA>Y</ACCEPT_EULA>
<SA_PASSWORD>password</SA_PASSWORD>
</env>
<ports>
<port>1433:1433</port>
</ports>
<wait>
<log>SQL Server is now ready for client connections</log>
<time>20000</time>
</wait>
</run>
</image>
</images>
</configuration>
</execution>
</plugin>
Maven在重启之间是无状态的,对已经保留的资源一无所知,在这种情况下,可能最好在构建结束时清理资源(例如,使用mvn-finisher plug-in并在下次启动时重启docker