Tự động cập nhật các container Docker bằng webhooks


10

Tôi đã tạo một repo Github và repo Docker. Cả hai hoạt động rất tốt với nhau: khi tôi đẩy một phiên bản mới của Dockerfile sang Github, một hình ảnh mới sẽ tự động được xây dựng bên trong repo Docker.

Bây giờ, tôi muốn để các bộ chứa đang chạy của tôi tự động được cập nhật khi hình ảnh cơ sở được xây dựng lại.

Làm thế nào tôi có thể đạt được nó bằng cách sử dụng Docker repos webhooks?


1
Nếu có một cách "dễ dàng" (dễ như cách này) để đạt được điều tương tự mà không cần sử dụng webhooks, tôi cũng quan tâm. :)
PJ Bergeron

Câu trả lời:


3

Nhóm Century Link Labs đã phát triển 2 công cụ nguồn mở mới có thể sử dụng các móc web để cập nhật các container đang chạy.

Ứng dụng đầu tiên của họ là Zodiac sử dụng mô hình triển khai "đẩy". Đây là một công cụ gọn nhẹ được xây dựng trên Docker Compose , để dễ dàng triển khai và khôi phục các ứng dụng được neo. Nó duy trì một lịch sử của tất cả các triển khai cũng cho phép bạn quay trở lại triển khai trước đó.

Ứng dụng thứ 2 của họ Watchtower sử dụng mô hình triển khai "kéo". Mô hình này cho phép các container Docker nằm sau tường lửa phát hiện và kéo các thay đổi một cách an toàn hơn mà không làm lộ ra một cổng bên ngoài.

Tháp Canh biết cách khởi động lại một tập hợp các thùng chứa được liên kết. Nếu một bản cập nhật được phát hiện cho một trong các phụ thuộc trong một nhóm các thùng chứa được liên kết, Tháp Canh sẽ dừng và khởi động tất cả các thùng chứa theo đúng thứ tự để ứng dụng trở lại chính xác.

Tôi không có liên kết với Century Link Labs.

Một ứng dụng đơn giản khác mà bạn có thể muốn xem qua là Docker Puller .


Bạn cũng có thể muốn xem cuộc thảo luận này về việc áp dụng các cập nhật bảo mật từ hình ảnh cơ sở
Tony O'Hagan

Một số các liên kết này hiện đã bị hỏng nhưng các dự án GitHub vẫn còn
Tony O'Hagan

0

Ngoài ra còn có một docker-image-puller gần đây

Nó được kết nối trực tiếp với ổ cắm Docker của bạn và sử dụng API Docker để cập nhật các thùng chứa đang chạy của bạn sử dụng hình ảnh bạn chỉ định trong webhook. Nó khá đơn giản, có thể thêm nhiều tùy chọn có thể được thêm vào trong tương lai


-1

Tôi đã tìm thấy cái này, nhưng tôi chưa thử:

https://medium.com/@iaincollins/docker-swarm-automated-deployment-cb477767dfcf đây là một bài viết về sử dụng webhook để triển khai container với hub docker.

Về cơ bản, nó cho bạn biết bạn có thể sử dụng loại công cụ (kiểm tra liên kết bên dưới), để xử lý webhook trên "máy" docker của bạn. https://github.com/iaincollins/docker-deploy-webhook


Mặc dù liên kết này có thể trả lời câu hỏi, tốt hơn là bao gồm các phần thiết yếu của câu trả lời ở đây và cung cấp liên kết để tham khảo. Câu trả lời chỉ liên kết có thể trở nên không hợp lệ nếu trang được liên kết thay đổi.
Michael Hampton

@MichaelHampton Tôi nghĩ rằng câu trả lời của tôi sẽ hữu ích, tôi đã thêm mô tả.
emj365
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.