我想用fabric8插件进行 Spring 集成测试,但是当我尝试运行测试时,出现了下一个错误:



我有ubuntu,我认为我已经配置好了docker,我在dockerfiles或dockercompose上没有任何问题,因此可能是权限问题或我忘了一些东西。

我经过我的fabric8配置下面,它具有mysql镜像和要进行集成测试的maven-failsafe-plugin。

<!--maven plugin -->
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-failsafe-plugin</artifactId>
            <executions>
                <execution>
                    <goals>
                        <goal>integration-test</goal>
                        <goal>verify</goal>
                    </goals>
                </execution>
            </executions>
            <configuration>
                <environmentVariables>
                    <it-database.port>${it-database.port}</it-database.port>
                </environmentVariables>
            </configuration>
        </plugin>
        <!--fabric8 plugin -->
        <plugin>
            <groupId>io.fabric8</groupId>
            <artifactId>docker-maven-plugin</artifactId>
            <version>0.18.1</version>
            <configuration>
                <!--<dockerHost>unix:///var/run/docker.sock</dockerHost>-->
                <dockerHost>tcp://0.0.0.0:2375</dockerHost>
            </configuration>
            <executions>
                <execution>
                    <id>prepare-it-database</id>
                    <phase>pre-integration-test</phase>
                    <goals>
                        <goal>start</goal>
                    </goals>
                    <configuration>
                        <images>
                            <image>
                                <name>mysql:5.7</name>
                                <alias>it-database</alias>
                                <run>
                                    <ports>
                                        <port>it-database.port:5432</port>
                                    </ports>
                                    <wait>
                                        <log>database system is ready to accept connections</log>
                                        <time>20000</time>
                                    </wait>
                                </run>
                            </image>
                        </images>
                    </configuration>
                </execution>
                <execution>
                    <id>remove-it-database</id>
                    <phase>post-integration-test</phase>
                    <goals>
                        <goal>stop</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>

最佳答案

您确定Docker守护程序正在侦听2375端口吗?您可能想尝试pom.xml中的localhost或127.0.0.1,而不是0.0.0.0。

你能打吗

   env | grep DOCKER

这也可能是不良的环境变量

10-06 01:36