2017-12-30 45 views
1

Ich benutze ein Docker Jenkins Bild, aber ich muss die aktuelle Version mit einigen Plugins aktualisieren. Die Idee ist, das gleiche Bild in einer Umgebung zu verwenden, in der ich keinen Internetzugang habe, also kann ich diese Plugins nicht hinzufügen, also war meine Idee, ein neues Bild aus dem aktuellen Container zu erstellen.Docker Update Jenkins Container zu Bild

ich gelesen, dass möglich ist, und ich folge den Schritten:

neues Bild erstellen

sudo docker commit CONTAINER_ID new_image_name 

Run neues Bild

sudo docker run --name cutom_image -p 8080:8080 -p 50000:50000 -e TERM=xterm -d new_image_name 

Aber dann, als ich von ssh mit dem Behälter verbinden von das neue aktualisierte Bild Ich kann kein neues installiertes Plugin sehen.

Aber wenn ich sehe, um die Größe des neuen Bildes kann ich sehen, dass ist ein bisschen größer, so muss eine gewisse Änderung wird leider sein.

Irgendeine Idee, was ich falsch mache?

Grüße.

Antwort

1

Die Jenkins/Jenkins docker image wird normalerweise laufen mit:

docker run -p 8080:8080 -p 50000:50000 -v jenkins_home:/var/jenkins_home jenkins/jenkins:lts 

dies wird automatisch ein 'jenkins_home' Lautstärke auf Docker-Host erstellen, die Container Stopp/Neustart/Löschen überleben wird.

Wenn Sie den Container festschreiben, übernehmen Sie nicht den damit verknüpften Volumeninhalt.

Führen Sie Ihr neues Bild mit den gleichen Optionen wie Ihr altes Bild, und Sie werden den gleichen Inhalt (einschließlich der Plugins Unterordner)

+0

überprüfe ich es, aber sieht Versprechen Dank zurück! – paul

+0

@paul Das war es, was ich mit meinem eigenen Jenkins/Docker-Image machen musste, außer dass ich ein Volume verwende, nicht bind mount. (https://docs.docker.com/engine/admin/volumes/volumes/) – VonC

Verwandte Themen