Fabric8: docker-maven-plugin не может загрузить провайдера ffi при работе на Centos7 в Jenkins

После добавления Fabric8 в hello world pom при запуске maven «чистая установка» в Jenkins на CentOS7,

            <plugin>
                <groupId>io.fabric8</groupId>
                <artifactId>docker-maven-plugin</artifactId>
                <version>0.31.0</version>
                <configuration>
                    <filter>${*}</filter>
                    <images>
                        <image>
                            <name>docker.io/myname/${project.artifactId}:${project.version}</name>
                        </image>
                    </images>
                </configuration>
                <executions>
                    <execution>
                        <phase>package</phase>
                        <goals>
                            <goal>build</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin> 

Я получаю следующую ошибку

[ERROR] Failed to execute goal io.fabric8:docker-maven-plugin:0.31.0:build (default) on project reference-service: Execution default of goal io.fabric8:docker-maven-plugin:0.31.0:build failed: An API incompatibility was encountered while executing io.fabric8:docker-maven-plugin:0.31.0:build: java.lang.UnsatisfiedLinkError: could not load FFI provider jnr.ffi.provider.jffi.Provider
[ERROR] -----------------------------------------------------
[ERROR] realm =    plugin>io.fabric8:docker-maven-plugin:0.31.0

...

[ERROR] Number of foreign imports: 1
[ERROR] import: Entry[import  from realm ClassRealm[maven.api, parent: null]]
[ERROR] 
[ERROR] -----------------------------------------------------: could not get native definition for type: POINTER: java.lang.UnsatisfiedLinkError: /tmp/jffi5159674609596634370.so: /tmp/jffi5159674609596634370.so: failed to map segment from shared object: Operation not permitted

Я не могу найти никаких инструкций по установке файла .so для CentOS7 или других инструкций.

сайт GitHub не содержит особых указаний;

Docker прослушивает 2375 и docker.sock. Пользователь, которого я создаю, находится в dockerroot.

Та же проблема с предохранителем

[ERROR] Failed to execute goal io.fabric8:docker-maven-plugin:0.23.0.fuse-730010-redhat-00001:build (default) on project reference-service: Execution default of goal io.fabric8:docker-maven-plugin:0.23.0.fuse-730010-redhat-00001:build failed: An API incompatibility was encountered while executing io.fabric8:docker-maven-plugin:0.23.0.fuse-730010-redhat-00001:build: java.lang.UnsatisfiedLinkError: could not load FFI provider jnr.ffi.provider.jffi.Provider
[ERROR] realm =    plugin>io.fabric8:docker-maven-plugin:0.23.0.fuse-730010-redhat-00001

person Dave Brunkow    schedule 09.12.2019    source источник


Ответы (1)


В этом случае ошибка FFI означала, что плагин не может связаться с демоном докера. Установка DOCKER_HOST на tcp://127.0.0.1:2375 в глобальной конфигурации jenkins решила мою проблему.

person Dave Brunkow    schedule 10.12.2019