Tuyển dụng
Viettel IDC

​Hướng dẫn 2 cách khởi động Container một cách tự động

09/12/2020

Có 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

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

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

Bình luận ()

Đăng nhập | Đăng ký
để gửi bình luận
Ý kiến của bạn sẽ được xét duyệt trước khi đăng.
Ý kiến của bạn sẽ được xét duyệt trước khi đăng.
Ý kiến của bạn sẽ được xét duyệt trước khi đăng.
Xem thêm bình luận

Tin liên quan

19/10/2026

VDS là gì? VDS khác VPS và Dedicated Server như thế nào?

VDS là gì, khác VPS và Dedicated Server ở điểm nào, ưu nhược điểm và trường hợp nên sử dụng.

19/10/2026

Cách triển khai observability cho ứng dụng đám mây và microservices như thế nào

Hướng dẫn triển khai observability cho ứng dụng đám mây và microservices qua 7 bước, từ xác định SLI/SLO đến tối ưu chi phí telemetry.

19/10/2026

Top nhà cung cấp dịch vụ Dedicated Server giá tốt, tốc độ ổn định tại Việt Nam

Tổng hợp các nhà cung cấp Dedicated Server tại Việt Nam, so sánh mô hình dịch vụ, cấu hình, Data Center, uptime, băng thông và giá công bố.

19/10/2026

Top nhà cung cấp dịch vụ Hosting và VPS uy tín tại Việt Nam

Top nhà cung cấp Hosting và VPS uy tín tại Việt Nam. So sánh hạ tầng, uptime, loại dịch vụ và các tiêu chí cần kiểm tra trước khi lựa chọn.

19/10/2026

Thuê Cloud GPU có đắt không?

Thuê Cloud GPU có đắt không phụ thuộc vào yếu tố nào? Phân tích các mô hình tính phí, chi phí ẩn và cách tối ưu ngân sách khi dùng GPU đám mây.

19/10/2026

Top nhà cung cấp dịch vụ Cloud GPU tại Việt Nam

Tổng hợp các nhà cung cấp Cloud GPU tại Việt Nam. So sánh GPU hỗ trợ, mô hình dịch vụ, hạ tầng và các tiêu chí doanh nghiệp cần cân nhắc.

19/10/2026

Syslog là gì? Cách hoạt động, thành phần và cách triển khai

Syslog là gì? Tìm hiểu cách giao thức này giúp doanh nghiệp quản lý log tập trung, giám sát hệ thống và hỗ trợ phát hiện, xử lý sự cố kịp thời.

19/10/2026

Observability là gì? Vai trò, thành phần và cách triển khai hiệu quả

Observability là gì? Tìm hiểu cách doanh nghiệp theo dõi hệ thống, phát hiện nguyên nhân sự cố và cải thiện hiệu suất ứng dụng hiệu quả.

19/10/2026

VPS nào phù hợp cho mục đích lưu trữ web và app nhỏ? Cách lựa chọn cấu hình

Tìm hiểu xem VPS nào phù hợp cho mục đích lưu trữ web và app nhỏ? Cách lựa chọn cấu hình VPS sao cho phù hợp

19/10/2026

SSD Hosting là gì? Ưu nhược điểm và cách lựa chọn phù hợp

SSD Hosting là gì? Tìm hiểu cách công nghệ lưu trữ SSD cải thiện khả năng truy xuất dữ liệu và những yếu tố cần cân nhắc khi lựa chọn hosting.