Docker/Tutum-Container aktuell halten

Eine Möglichkeit, laufende Container aktuell zu halten, sind Trigger aus dem Docker-Hub. Diese werden dann immer gefeuert, wenn das zugrundeliegende Image im Docker-Hub aktualisiert wurde.

Leider kann man seit einigen Monaten (?) offenbar nur noch bei eigenen Docker-Hub-Repos Trigger setzen. Um trotzdem Trigger von fremden Repos bei Aktualisierungen zu bekommen, benutze ich folgenden Workaround (am Beispiel wordpress):

  • github-Repo mit nur einem Dockerfile, welches nur FROM wordpress enthält. Also ein 1:1-Clone. (siehe https://github.com/dsteinkopf/wordpress)
  • docker-Hub-Repo: “Create Automated Build” mit Verweis auf das github-Repo einrichten. (siehe https://hub.docker.com/r/dsteinkopf/wordpress/)
    • Bei “Build Settings” kann man dann unter “Repository Links” das Ursprungs-Repo eintragen, was dazu führt, dass unser Repo immer neu gebaut wird, wenn das Ursprungs-Repo geändert wurde.
    • jetzt kann man unter “Webhooks” einen in Tutum eingerichteten Redeploy-Trigger eintragen.
  • Fertig: Bei Änderungen den ursprünglichen wordpress-Repo wird über den Umweg mein Trigger ausgelöst und mein Container aktualisiert.

Positiver Nebeneffekt für Bastler: Kleine Änderungen am Dockerfile sind dann auch schnell gemacht, weil die Build-Infraktur dann schon steht. (Das habe ich z.B. bei https://hub.docker.com/r/dsteinkopf/confluence-dup/ genutzt, um einen kleinen Confluence-Patch zu installieren.)

3 thoughts on “Docker/Tutum-Container aktuell halten

  1. Docker Cloud hat jetzt das Feature “auto redeploy”. Dieses sollte dazu führen, dass jede Änderung im zugrundeliegenden Repository (Image) bewirkt, dass der Service (Container) redeployt (neu gestartet) wird. (siehe hier)

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert