Secara otomatis memperbarui wadah Docker menggunakan webhooks

10

Saya telah membuat repo Github dan repo Docker. Keduanya bekerja sama dengan sangat baik: ketika saya mendorong versi baru Dockerfile ke Github, gambar baru secara otomatis dibuat di dalam repo Docker.

Sekarang, saya ingin agar wadah saya yang berjalan diperbarui secara otomatis ketika gambar dasar dibangun (kembali).

Bagaimana saya bisa mencapainya menggunakan Docker repos webhooks?

PJ Bergeron
sumber
1
Jika ada cara "mudah" (semudah yang ini) untuk mencapai hal yang sama tanpa menggunakan webhooks, saya juga tertarik. :)
PJ Bergeron

Jawaban:

3

Tim Century Link Labs telah mengembangkan 2 alat sumber terbuka baru yang dapat menggunakan kait web untuk memperbarui wadah yang sedang berjalan.

Aplikasi pertama mereka adalah Zodiac yang menggunakan model penyebaran "push". Ini adalah alat ringan yang dibangun di atas Docker Compose , untuk penggunaan dan kemunduran aplikasi Docker yang mudah. Ini mempertahankan riwayat semua penyebaran yang juga memungkinkan Anda untuk mengembalikan ke penerapan sebelumnya.

Aplikasi 2 Menara Pengawal mereka menggunakan model penyebaran "tarik". Model ini memungkinkan kontainer Docker yang berada di belakang firewall untuk mendeteksi dan lebih aman menarik perubahan tanpa mengekspos port eksternal.

Menara Pengawal tahu cara me-restart set kontainer yang terhubung dengan benar. Jika pembaruan terdeteksi untuk salah satu dari dependensi dalam kelompok kontainer tertaut, Menara Pengawal akan berhenti dan memulai semua kontainer dalam urutan yang benar sehingga aplikasi muncul kembali dengan benar.

Saya tidak memiliki afiliasi dengan Century Link Labs.

Aplikasi sederhana lain yang mungkin ingin Anda lihat adalah Docker Puller .

Tony O'Hagan
sumber
Anda mungkin juga ingin melihat diskusi ini tentang menerapkan pembaruan keamanan dari gambar dasar
Tony O'Hagan
Beberapa tautan ini sekarang rusak tetapi proyek GitHub tetap ada
Tony O'Hagan
0

Ada juga docker-image-puller yang lebih baru

Ini terhubung langsung ke soket Docker Anda dan menggunakan Docker API untuk memperbarui wadah berjalan Anda yang menggunakan gambar yang Anda tentukan di webhook. Ini cukup sederhana, mungkin lebih banyak opsi dapat ditambahkan di masa depan

Tuxity
sumber
-1

Saya menemukan ini, tetapi saya belum mencoba:

https://medium.com/@iaincollins/docker-swarm-automated-deployment-cb477767dfcf ini adalah artikel tentang penggunaan webhook untuk menggunakan kontainer dengan hub docker.

Pada dasarnya, ini memberitahu Anda bisa menggunakan jenis alat (periksa tautan di bawah), untuk menangani webhook pada "mesin" buruh pelabuhan Anda. https://github.com/iaincollins/docker-deploy-webhook

emj365
sumber
Meskipun tautan ini dapat menjawab pertanyaan, lebih baik untuk memasukkan bagian-bagian penting dari jawaban di sini dan memberikan tautan untuk referensi. Jawaban hanya tautan dapat menjadi tidak valid jika halaman tertaut berubah.
Michael Hampton
@MichaelHampton Saya pikir jawaban saya akan sangat membantu, saya menambahkan lebih banyak deskripsi.
emj365