Web kancalarını kullanarak Docker kapsayıcılarını otomatik olarak güncelleme


10

Bir Github repo ve bir Docker repo oluşturdum. Her ikisi de birlikte çok iyi çalışıyor: Dockerfile'ın yeni bir sürümünü Github'a aktardığımda, Docker deposunda otomatik olarak yeni bir görüntü oluşturulur.

Şimdi, temel görüntü yeniden oluşturulduğunda çalışan kaplarımın otomatik olarak güncellenmesini istiyorum.

Docker depoları web kancalarını kullanarak bunu nasıl başarabilirim?


1
Eğer webhooks kullanmadan aynı şeyi elde etmek için "kolay" (bu kadar kolay) bir yolu varsa, ben de ilgileniyorum. :)
PJ Bergeron

Yanıtlar:


3

Century Link Labs ekibi, çalışan konteynerleri güncellemek için web kancalarını kullanabilen 2 yeni açık kaynaklı araç geliştirdi.

Onların ilk uygulaması bir "itme" dağıtım modeli kullanan Zodyak olduğunu. Limanlaştırılmış uygulamaların kolay konuşlandırılması ve geri alınması için Docker Compose'un üzerine inşa edilmiş hafif bir araçtır . Önceki dağıtımlara geri dönmenizi sağlayan tüm dağıtımların geçmişini tutar.

2. uygulama Gözetleme Kulesi bir "çekme" dağıtım modeli kullanır. Bu model, bir güvenlik duvarının arkasında bulunan Docker kaplarının harici bir bağlantı noktası göstermeden değişiklikleri algılamasını ve daha güvenli bir şekilde çekmesini sağlar.

Gözetleme kulesi, bir dizi bağlı kapsayıcıyı nasıl düzgün bir şekilde yeniden başlatacağını bilir. Bir grup bağlantılı kapsayıcıdaki bağımlılıklardan biri için bir güncelleştirme algılanırsa, gözetleme kulesi tüm kapsayıcıları durduracak ve doğru sırada başlatacak, böylece uygulama doğru şekilde geri gelecektir.

Century Link Labs ile hiçbir bağlantım yok.

Bir göz atmak isteyebileceğiniz bir başka basit uygulama Docker Puller .



Bu bağlantılardan bazıları artık kopuk ama GitHub projeleri devam ediyor
Tony O'Hagan

0

Ayrıca daha yeni bir docker-image-puller var

Doğrudan Docker'in soketine bağlanır ve web kancada belirttiğiniz görüntüyü kullanan çalışan kaplarınızı güncellemek için Docker API'sını kullanır. Oldukça basit, belki gelecekte daha fazla seçenek eklenebilir


-1

Bunu buldum, ama henüz denemedim:

https://medium.com/@iaincollins/docker-swarm-automated-deployment-cb477767dfcf Bu, docker hub'ıyla konteyner dağıtmak için webhook kullanma hakkında bir makaledir.

Temel olarak, docker "makinenizde" webhook'u işlemek için bir çeşit araç kullanabileceğinizi söyler (aşağıdaki bağlantıyı kontrol edin). https://github.com/iaincollins/docker-deploy-webhook


Bu bağlantı soruyu cevaplayabilirken, cevabın önemli kısımlarını buraya eklemek ve bağlantıyı referans olarak sağlamak daha iyidir. Bağlantı verilen sayfa değişirse, yalnızca bağlantı yanıtları geçersiz olabilir.
Michael Hampton

@MichaelHampton Cevabımın yararlı olacağını düşünüyorum, daha fazla açıklama ekledim.
emj365
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.