Не удается создать объект доступа к докеру

Я хотел бы провести весенний интеграционный тест с плагином fabric8, но при попытке запустить тест я получил следующую ошибку:

Не удается создать объект доступа к докеру

У меня есть Ubuntu, и я думаю, что у меня есть хорошо сконфигурированные докеры, у меня не было проблем с 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>

4 ответа

Немного поздно, но попробуйте перезапустить Docker. У меня была такая же проблема, и перезапуск докера решил проблему.

Рабочий стол Docker в Windows 10

Скорее всего, конфигурация вашего рабочего стола требует прав суперпользователя для запуска команд Docker. Вы должны либо запустить свою сборку maven с помощью «sudo», либо настроить среду докера, чтобы не нуждаться в таких привилегиях.

Вы уверены, что демон Docker прослушивает порт 2375? Вы можете попробовать localhost или 127.0.0.1 вместо 0.0.0.0 в pom.xml.

Не могли бы вы напечатать

   env | grep DOCKER

Это также может быть плохой переменной среды

Если вы используете рабочий стол Docker в Windows 10, то нам не нужен хост Docker, поскольку он требуется только при использовании Docker Toolbox (Windows) для более старой версии Windows, и в этом случае мы можем использовать IP-адрес docker-machine, чтобы узнать хост Docker...

Другие вопросы по тегам