我的目标是在使用docker-maven-plugin构建我的Spring Boot应用程序时启动MSSQL Docker容器一次,因此在将来运行"mvn干净安装"时,我希望我的构建跳过尝试启动已经运行的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 完成器插件(并在下次启动时重新启动 docker