spring 无法创建Docker访问对象

rn0zuynd  于 2023-02-07  发布在  Spring
关注(0)|答案(3)|浏览(167)

我想使用fabric8插件进行Spring集成测试,但当我尝试运行测试时,我收到了下一个错误:
无法创建Docker访问对象
我有ubuntu,我认为我已经很好地配置了dockers,我没有遇到任何dockerfiles或dockercompose的问题,所以可能是权限问题或我忘了什么。
我在fabric8配置下面传递,这有一个mysql和maven故障安全插件的图像进行集成测试。

<!--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>
fykwrbwg

fykwrbwg1#

有点晚了,但是试着重新启动Docker。我遇到了同样的问题,重新启动Docker解决了这个问题。
Windows 10上的Docker桌面

d7v8vwbk

d7v8vwbk2#

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

env | grep DOCKER

它也可能是一个错误的环境变量

s5a0g9ez

s5a0g9ez3#

很可能你的桌面配置需要超级用户权限来运行docker命令。你应该用“sudo”运行你的maven build或者配置你的docker环境以不需要这样的权限。

相关问题