Aggiorna automaticamente i contenitori Docker utilizzando i webhook


10

Ho creato un repository Github e un repository Docker. Entrambi funzionano molto bene insieme: quando invio una nuova versione di Dockerfile su Github, una nuova immagine viene automaticamente creata all'interno del repository Docker.

Ora, vorrei avere i miei container in esecuzione aggiornati automaticamente quando l'immagine di base viene (ri) creata.

Come posso ottenerlo utilizzando i webhook dei repository Docker?


1
Se esiste un modo "facile" (facile come questo) per ottenere la stessa cosa senza usare i webhook, sono anche interessato. :)
PJ Bergeron,

Risposte:


3

Il team di Century Link Labs ha sviluppato 2 nuovi strumenti open source che possono utilizzare gli hook web per aggiornare i container in esecuzione.

La loro prima app è Zodiac che utilizza un modello di distribuzione "push". È uno strumento leggero basato su Docker Compose , per una facile implementazione e rollback di applicazioni dockerizzate. Mantiene una cronologia di tutte le distribuzioni che consente anche il rollback a una distribuzione precedente.

La loro seconda app Watchtower utilizza un modello di distribuzione "pull". Questo modello consente ai container Docker che risiedono dietro un firewall di rilevare e di estrarre in modo più sicuro le modifiche senza esporre una porta esterna.

La Torre di Guardia sa come riavviare correttamente un insieme di contenitori collegati. Se viene rilevato un aggiornamento per una delle dipendenze in un gruppo di contenitori collegati, Watchtower si arresterà e avvierà tutti i contenitori nell'ordine corretto in modo che l'applicazione venga ripristinata correttamente.

Non ho alcuna affiliazione con Century Link Labs.

Un'altra app più semplice che potresti voler dare un'occhiata è Docker Puller .


Potresti anche dare un'occhiata a questa discussione sull'applicazione degli aggiornamenti di sicurezza dalle immagini di base
Tony O'Hagan,

Alcuni di questi collegamenti sono ora interrotti ma i progetti GitHub rimangono
Tony O'Hagan,

0

C'è anche un più recente docker-image-puller

È collegato direttamente al socket del Docker e utilizza l'API Docker per aggiornare i container in esecuzione che utilizzano l'immagine specificata nel webhook. È piuttosto semplice, forse in futuro potrebbero essere aggiunte più opzioni


-1

Ho trovato questo, ma non ho ancora provato:

https://medium.com/@iaincollins/docker-swarm-automated-deployment-cb477767dfcf questo è un articolo sull'uso di webhook per distribuire container con hub docker.

Fondamentalmente, ti dice che potresti usare il tipo di strumento (controlla il link sotto), per gestire il webhook sulla tua "macchina" docker. https://github.com/iaincollins/docker-deploy-webhook


Sebbene questo collegamento possa rispondere alla domanda, è meglio includere qui le parti essenziali della risposta e fornire il collegamento come riferimento. Le risposte di solo collegamento possono diventare non valide se la pagina collegata cambia.
Michael Hampton,

@MichaelHampton Penso che la mia risposta sarebbe stata utile, ho aggiunto più descrizione.
emj365,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.