Tôi rất mới với Docker và hiện đang cố gắng để có được đầu của tôi xung quanh nếu có bất kỳ hướng dẫn thực hành tốt nhất để cập nhật phần mềm chạy bên trong một container docker trong một môi trường phân phối rất lớn. Tôi đã tìm thấy một vài bài viết về việc cập nhật cơ sở dữ liệu MySQL trong docker, v.v. Nó đưa ra gợi ý tốt cho bất kỳ phần mềm nào lưu trữ dữ liệu, nhưng nếu bạn muốn cập nhật các phần khác hoặc gói phần mềm hoặc dịch vụ của riêng bạn được phân phối và sử dụng một số hình ảnh docker khác thông qua docker-compose?Làm thế nào để cập nhật phần mềm bên trong một container docker?
Có ai đó có kinh nghiệm thực tế làm điều đó trong môi trường như vậy, những người có thể giúp tôi hoặc những người mới khác hiểu các phương pháp hay nhất trong docker nếu có.
Cảm ơn sự giúp đỡ của bạn!
Điều gì sẽ xảy ra nếu bạn có nhiều thùng chứa nhỏ được cấu tạo bởi trình biên dịch docker để xây dựng phần mềm của bạn? Những thay đổi này là w/hoặc w/o thời gian chết? Trong trường hợp tốt nhất tôi muốn không có thời gian chết –
Nếu một phần của Dockerfile liên quan đến các cuộc gọi xây dựng trong 'docker-compose.yml' của bạn liên quan đến việc tải xuống và biên dịch mã nguồn hoặc nâng cấp thông qua trình quản lý gói, bạn sẽ kích hoạt một hình ảnh mới . Re: không có thời gian chết - bạn có thể đăng các 'docker-compose.yml' của bạn, nó có thể giúp tôi trong việc cải thiện câu trả lời của tôi. – booyaa
Cho đến nay nó là một câu hỏi lý thuyết hơn là một cái gì đó tôi đang làm trong thực tế được nêu ra. Chỉ cần suy nghĩ về một ví dụ môi trường phân tán lớn hơn chứ không phải ví dụ về hình ảnh docker đơn. Nâng cấp thông qua trình quản lý gói, nghĩa là bạn về cơ bản kết nối với hình ảnh qua ssh và thực thi, ví dụ, 'npm'? Bạn có làm tất cả những điều đó trong thùng chứa đang chạy hay bạn sẽ sử dụng phiên bản hình ảnh/vùng chứa khác và chỉ "kỳ diệu" sẽ chuyển đổi phiên bản đang chạy với phiên bản mới? –