J'ai créé un dépôt Github et un dépôt Docker. Les deux fonctionnent très bien ensemble: lorsque je transmets une nouvelle version de Dockerfile à Github, une nouvelle image est automatiquement créée dans le dépôt Docker.
Maintenant, j'aimerais que mes conteneurs en cours d'exécution soient automatiquement mis à jour lorsque l'image de base est (re) construite.
Comment y parvenir à l'aide de webhooks de dépôt Docker?
deployment
docker
docker-registry
PJ Bergeron
la source
la source
Réponses:
L'équipe de Century Link Labs a développé 2 nouveaux outils open source qui peuvent utiliser des hooks Web pour mettre à jour les conteneurs en cours d'exécution.
Leur première application est Zodiac qui utilise un modèle de déploiement "push". Il s'agit d'un outil léger intégré à Docker Compose , pour un déploiement et une restauration faciles des applications dockées. Il conserve un historique de tous les déploiements qui vous permet également de revenir à un déploiement précédent.
Leur 2ème application Watchtower utilise un modèle de déploiement "pull". Ce modèle permet aux conteneurs Docker résidant derrière un pare-feu de détecter et d'extraire de manière plus sûre les modifications sans exposer un port externe.
Watchtower sait comment redémarrer correctement un ensemble de conteneurs liés. Si une mise à jour est détectée pour l'une des dépendances d'un groupe de conteneurs liés, Watchtower s'arrête et démarre tous les conteneurs dans le bon ordre afin que l'application revienne correctement.
Je n'ai aucune affiliation avec Century Link Labs.
Docker Puller est une autre application plus simple que vous voudrez peut-être consulter .
la source
Il existe également un extracteur d'image Docker plus récent
Il est connecté directement au socket de votre Docker et utilise l'API Docker pour mettre à jour vos conteneurs en cours d'exécution qui utilisent l'image que vous spécifiez dans le webhook. C'est assez simple, peut-être que d'autres options pourront être ajoutées à l'avenir
la source
J'ai trouvé ça, mais je n'ai pas encore essayé:
https://medium.com/@iaincollins/docker-swarm-automated-deployment-cb477767dfcf ceci est un article sur l'utilisation de webhook pour déployer un conteneur avec docker hub.
Fondamentalement, il indique que vous pouvez utiliser un type d'outil (consultez le lien ci-dessous) pour gérer le webhook sur votre "machine" docker. https://github.com/iaincollins/docker-deploy-webhook
la source