2016-04-04 13 views
1

Ich habe Jenkins als Docker Container eingesetzt. Erstellt einen Job, um Docker Image als Maven-Projekt zu erstellen und zu pushen. Aber wenn versucht wird, das zu bauen, endet es irrtümlich.Docker Jenkins Integration

[INFO] --- maven-antrun-plugin:1.3:run (build-service-docker-image) @ infyDockerImageTomcat8 --- 
[INFO] Executing tasks 
    [echo] Running [docker build -t hi2vaisakh/infy-poc-tomcat8:v1.0 .] 
    [exec] /bin/sh: 1: docker: not found 
[INFO] ------------------------------------------------------------------------ 
[INFO] BUILD FAILURE 

Antwort

0

Sie haben die Docker Buchsen von Ihrem Host-Maschine in Ihrem jenkins Behälter zu montieren, wenn Sie die Docker Befehle in Jenkins verwenden möchten. So etwas sollte funktionieren:

docker run -d \ 
    -u root \ 
    -v /var/run/docker.sock:/var/run/docker.sock \ 
    -v $(which docker):/usr/bin/docker:ro \ 
    -v /lib64/libdevmapper.so.1.02:/usr/lib/x86_64-linux-gnu/libdevmapper.so.1.02 \ 
    -v /lib64/libudev.so.0:/usr/lib/x86_64-linux-gnu/libudev.so.0 \ 
    -p 8080:8080 \ 
    --name jenkins \ 
    --privileged=true -t -i \ 
jenkins 
+0

wow es hat viel dank gearbeitet. Aber wenn ich docker info Befehl ausführen zeigt es Fehler "Fehler beim Laden freigegebener Bibliotheken: libdevmapper.so.1.02: kann nicht freigegebene Objektdatei: Keine solche Datei oder Verzeichnis" –

+0

Das ist etwas, das OS-spezifisch ist, denke ich: Zum Beispiel auf CentOS Ich musste Folgendes ausführen: -v /lib64/libdevmapper.so.1.02:/usr/lib/x86_64-linux-gnu/libdevmapper.so.1.02 \. Ich musste auch mount -v /lib64/libudev.so.0:/usr/lib/x86_64-linux-gnu/libudev.so.0 \ – lvthillo

+0

Ich werde die Antwort bearbeiten. – lvthillo