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
Trigger là gì trong DBMS? Cách hoạt động, các loại phổ biến và ứng dụng
Trigger là gì trong DBMS? Tìm hiểu cách trigger hoạt động, các loại phổ biến, ví dụ minh họa, ưu nhược điểm và khi nào nên sử dụng.
Figma là gì? Nền tảng thiết kế và cộng tác trực tuyến
Figma là gì, có những tính năng nổi bật nào? Tìm hiểu Vector Network, Auto Layout, Dev Mode và vị thế hiện tại của Figma trong ngành thiết kế.
Camera Cloud cần tốc độ mạng bao nhiêu? Cách tính băng thông cần thiết
Camera Cloud cần tốc độ mạng bao nhiêu? Tìm hiểu mức băng thông cần thiết, cách tính upload và các yếu tố ảnh hưởng đến tốc độ khi sử dụng Camera Cloud.
Camera Cloud có bị hack không? Nguyên nhân và cách bảo mật
Camera Cloud có bị hack không? Tìm hiểu các rủi ro bảo mật, nguyên nhân bị xâm nhập và cách bảo vệ camera, tài khoản cùng dữ liệu hiệu quả.
Viettel IDC: Nhà cung cấp VMware Sovereign Cloud duy nhất tại Đông Nam Á
Tại VMware Explore 2026 ở Las Vegas, Broadcom đã giới thiệu nhóm 57 nhà cung cấp dịch vụ đám mây chủ quyền trên nền tảng VMware Cloud Foundation. Viettel IDC là đơn vị duy nhất tại Đông Nam Á có tên trong danh sách này, đánh dấu bước tiến mới của doanh nghiệp Việt Nam trên thị trường hạ tầng cloud khu vực.
Ghidra là gì? Chức năng và ứng dụng trong reverse engineering
Ghidra là gì? Tìm hiểu công cụ reverse engineering mã nguồn mở của NSA, các chức năng chính, ứng dụng thực tế và điểm khác biệt với IDA Pro.
10 công cụ tối ưu hóa website theo từng mục tiêu
Tổng hợp 10 công cụ tối ưu hóa web cho tốc độ, SEO, trải nghiệm người dùng và chuyển đổi, kèm bảng so sánh và gợi ý lựa chọn theo nhu cầu.
So sánh WHOIS và DNS Lookup: Điểm khác nhau và khi nào nên sử dụng
WHOIS và DNS Lookup khác nhau thế nào? Tìm hiểu định nghĩa, bảng so sánh, vai trò của RDAP thay thế WHOIS, và khi nào nên dùng công cụ nào.
Cách test tải hệ thống: Quy trình và công cụ phổ biến
Cách test tải hệ thống hiệu quả gồm những bước nào? Tìm hiểu quy trình, chỉ số cần đo và công cụ phổ biến như JMeter, k6.
Cloud Monitoring là gì? So sánh Hybrid Cloud và Multi Cloud Monitoring
Cloud Monitoring là quá trình theo dõi, quản lý và đánh giá hiệu suất của các tài nguyên và dịch vụ đám mây, bao gồm giám sát máy chủ, cơ sở dữ liệu, ứng dụng và hệ thống mạng


Bình luận ()