Hướng dẫn 2 cách khởi động Container một cách tự động
09/12/2020Có hai cách để khởi động Container một cách tự động. Bạn có thể sử dụng những tiện ích của Docker. Hoặc bạn có thể sử dụng Process Manager. Tuy nhiên, chúng ta nên chọn cách nào để khởi động Container? Bài viết này, Viettel IDC sẽ đưa ra một số phân tích chi tiết của mình nhé.
2 cách giúp bạn khởi động Container một cách tự động
Tại sao bạn nên sử dụng chính sách hỗ trợ khởi động Container lại của Docker?
Docker cung cấp các chính sách hỗ trợ khởi động Container lại nhằm mục đích để kiểm soát việc Container của bạn tự động khởi động khi chúng thoát ra hay khi Docker khởi động lại. Chính sách khởi động Container này đảm bảo rằng các Container đã liên kết trước đó được bắt đầu theo đúng thứ tự. Chúng tôi khuyên bạn nên sử dụng chính sách hỗ trợ tự khởi động Container lại này và tránh sử dụng trình quản lý quy trình (Process Manager) để khởi động Container.
Các chính sách hỗ trợ khởi động Container lại khác với dấu hiệu --live-restore của lệnh dockerd. Việc sử dụng --live-restore cho phép bạn vẫn duy trì được các Container của mình chạy trong quá trình nâng cấp Docker, mặc dù mạng và đầu vào của người dùng sẽ bị gián đoạn đôi chút.
>> Xem thêm: Container là gì? Đặc điểm kỹ thuật của Container?
2 cách để hỗ trợ khởi động Container lại
Cách 1: Sử dụng chính sách hỗ trợ khởi động Container lại
Để có thể cấu hình chính sách hỗ trợ khởi động Container lại, bạn hãy sử dụng cờ --restart khi sử dụng lệnh docker run. Giá trị của cờ --restart có thể là bất kỳ giá trị nào sau đây:
+ no: Không tự động khởi động Container lại. (mặc định)
+ on-failure: Khởi động Container lại trong trường hợp nếu nó thoát do lỗi, biểu hiện dưới dạng mã thoát non-zero.
+ always: Luôn khởi động Container lại nếu nó dừng lại. Nếu nó bị dừng theo cách thủ công, nó chỉ được khởi động lại khi Docker daemon khởi động lại. Hoặc chính Container được khởi động lại theo cách thủ công.
+ unless-stopped: Tương tự như always. Nhưng nó áp dụng cho trường hợp khi Container bị dừng (theo cách thủ công hoặc bằng một cách nào đó), nó không được khởi động lại ngay cả sau khi Docker daemon đã khởi động lại.
Chi tiết chính sách khởi động Container lại
Hãy ghi nhớ những điều sau khi sử dụng chính sách khởi động Container lại:
+ Chính sách khởi động Container lại chỉ có hiệu lực sau khi Container khởi động thành công. Trong trường hợp này, bắt đầu thành công có nghĩa là Container đã hoạt động ít nhất 10 giây và Docker đã bắt đầu giám sát nó. Điều này ngăn một Container vẫn chưa ở trạng thái bắt đầu nhưng đã đi vào vòng lặp khởi động lại.
+ Nếu bạn dừng một Container theo cách thủ công, chính sách khởi động Container lại của nó sẽ bị bỏ qua cho đến khi hoặc là daemon Docker khởi động lại hoặc là Container đó được khởi động lại theo cách thủ công. Đây là một nỗ lực khác để ngăn vòng lặp khởi động lại.
+ Chính sách khởi động Container lại chỉ áp dụng cho Container mà thôi. Các chính sách khởi động lại cho dịch vụ Swarm được cấu hình khác nhau.
Sử dụng cơ chế của Docker để khởi động Container lại
Cách 2: Sử dụng Process Manager
Nếu các chính sách khởi động Container lại không phù hợp với nhu cầu của bạn, chẳng hạn như khi các quy trình bên ngoài Docker phụ thuộc vào các Docker Container, bạn có thể sử dụng một Process Manager ví dụ Upstart, Systemd hay Supervisor để thay thế.
Lưu ý, bạn đừng cố gắng kết hợp các chính sách khởi động lại Docker với Process Manager cấp máy chủ, vì điều này tạo ra xung đột.
Để sử dụng Process Manager, hãy cấu hình nó để khởi động Container hoặc dịch vụ của bạn bằng cách sử dụng câu lệnh tương tự như docker start hoặc docker service , bạn sẽ có thể khởi động Container một cách thủ công.
>> Xem thêm: Ảo hóa Container và Virtual Machine khác nhau như thế nào?
Sử dụng Process Manager bên trong Container
Các Process Manager cũng có thể chạy trong Container để kiểm tra xem quy trình có đang chạy hay không và khởi động khởi động Container hoặc khởi động lại nó nếu như nó không xảy ra.
Lưu ý, Docker không khuyến nghị cách tiếp cận này, vì nó phụ thuộc vào nền tảng. Thậm chí nó còn có thể phụ thuộc vào sự khác nhau trong các phiên bản khác nhau của một bản Linux nhất định.
Kết luận
Bài viết vừa rồi Viettel IDC đã đề cập đến hai hình thức giúp khởi động Container một cách tự động. Qua đánh giá thì việc sử dụng chính sách hỗ trợ khởi động Container lại của Docker phần nào an toàn hơn cho người sử dụng. Tuỳ vào nhu cầu và hệ thống của mình, bạn đọc có thể tham khảo thêm để đưa ra những sựa lựa chọn phù hợp nhé.
Ngoài ra, mỗi khi nhắc đến khái niệm về Docker hay Container thì chắc hẳn bạn cũng đang tìm kiếm một dịch vụ liên quan đến Kubernetes. May mắn là hiện tại Viettel IDC cũng đang có chương trình hỗ trợ dùng thử và trải nghiệm đối với dịch vụ Viettel Kubernetes Service. Nếu bạn đọc quan tâm, hãy liên hệ với Viettel IDC để được tư vấn thêm nhé.
Để tìm hiểu thêm về các dịch vụ Viettel Kubernetes Service, vui lòng liên hệ đến Viettel IDC:
- Hotline: 1800.8088 (miễn phí cước gọi)
- Fanpage: https://www.facebook.com/viettelidc
- Website: https://viettelidc.com.vn
Viettel IDC – Nhà cung cấp dẫn đầu về giải pháp Trung tâm dữ liệu và Điện toán đám mây tại Việt Nam
Tin nổi bật
Tin liên quan
Trung tâm dữ liệu Hoà Lạc Viettel IDC nhận Danh hiệu Năng lượng xanh 5 sao
Viettel IDC nằm trong danh sách “Danh hiệu năng lượng xanh 5 sao dành cho 07 cơ sở sử dụng năng lượng trọng điểm trong công trình xây dựng.
HTML là gì? Nguyên lý hoạt động của HTML trong việc xây dựng website
HTML là gì là câu hỏi được khá nhiều người quan tâm. Thực tế, HTML đóng vai trò quan trọng trong việc hình thành cấu trúc, giao diện của nhiều loại trang web và ứng dụng trực tuyến, giúp cải thiện trải nghiệm người dùng trên Internet.
Tấn công DDoS là gì? Cách phát hiện và ứng phó với cuộc tấn công DDoS
Trong thời đại công nghệ hiện nay, mạng xã hội kỹ thuật số đã mở ra nhiều cơ hội nhưng cũng hình thành những rủi ro, trong đó có thể kể đến tấn công DDoS.
Những điểm mới của Luật Giao dịch điện tử 2023
Để tạo hành lang pháp lý vững chắc, giúp các doanh nghiệp Việt Nam có đủ cơ sở để thực hiện công cuộc số hóa nêu trên, ngày 22/6/2023, Quốc hội đã thông qua Luật Giao dịch điện tử số 20/2023/QH15 kế thừa có sửa đổi, bổ sung Luật Giao dịch điện tử 2005.
Viettel IDC xây dựng giải pháp email server trên AWS cho Viettel Post
Với mục đích nâng cao chất lượng dịch vụ, chú trọng đến trải nghiệm của người dùng, Viettel Post đã bắt đầu thúc đẩy ứng dụng công nghệ vào các hoạt động vận hành, quản lý, trong đó không thể không nhắc đến việc tích hợp các giải pháp tiên tiến vào hệ thống gửi email hóa đơn điện tử cho khách hàng.
Live Streaming và mối liên kết không thể thiếu với công nghệ CDN
Live streaming đã trở thành xu hướng, được phát triển mạnh mẽ trong thời gian gần đây. Hình thức này cho phép người dùng chia sẻ những trải nghiệm trực tiếp, tương tác với khán giả và truyền tải thông tin một cách nhanh chóng. Tuy nhiên, đã bao giờ bạn thắc mắc, để đảm bảo một buổi phát sóng không gặp sự cố gián đoạn hoặc độ trễ thì công nghệ nào sẽ gián tiếp hỗ trợ?
Tham gia Tiếp thị liên kết dễ dàng - Tăng thu nhập không giới hạn cùng Viettel IDC
Với việc trở thành Đối tác Tiếp thị liên kết của Viettel IDC (Publisher), bạn sẽ có cơ hội gia tăng thu nhập thụ động không giới hạn với mức hoa hồng lên đến 4% tổng giá trị đơn hàng.
Tích hợp ESG vào chiến lược phát triển trung tâm dữ liệu bền vững
Ngày càng có nhiều các doanh nghiệp trong nước, bao gồm cả các nhà cung cấp dịch vụ trung tâm dữ liệu, đẩy mạnh đầu tư vào các giải pháp chuyển dịch sang năng lượng sạch, thúc đẩy hoạt động kinh doanh bền vững...
Green Cloud: Hiện thực hóa hành trình phát triển bền vững của doanh nghiệp
So với giải pháp truyền thống hiện nay, giải pháp máy tính ảo trên đám mây giúp tiết kiệm năng lượng hơn 93% so với cơ sở hạ tầng thông thường.
Dịch vụ Cloud Server - Sự lựa chọn hoàn hảo cho các doanh nghiệp startup
Với dịch vụ Cloud Server, doanh nghiệp có thể giảm chi phí hiệu quả, tận dụng tính linh hoạt để mở rộng tài nguyên khi cần, đồng thời đảm bảo độ bảo mật thông tin tối đa.