Containerd là gì? So sánh Docker và Containerd

Containerd được thiết kế để quản lý vòng đời của các container. Công cụ đóng vai trò quan trọng trong việc hỗ trợ các nền tảng container như Kubernetes và Docker. Trong bài viết này, chúng ta sẽ cùng tìm hiểu về containerd là gì đồng thời so sánh với Docker để hiểu rõ hơn về ưu và nhược điểm.

Xem thêm:

Pod trong kuberrnetes là gì?

Replication Controller là gì

1. Containerd là gì?

Bạn cứ hình dung đơn giản thế này: khi bạn chạy một container, sẽ có một chương trình đứng sau để lo hết mọi việc như khởi động container, theo dõi nó đang sống hay chết, dừng nó khi cần, v.v… Thì containerd chính là chương trình đứng sau lo mấy việc đó!

Containerd là một high-level container runtime mã nguồn mở, ban đầu nó là một phần trong Docker. Sau này, Docker tách nó ra để dùng riêng, và bây giờ nó là một dự án độc lập do CNCF (Cloud Native Computing Foundation) bảo trợ.

Hiện tại, containerd đang được dùng rất nhiều trong các nền tảng lớn như Amazon EKS, Google Kubernetes Engine.

Container runntime

2. Điểm khác biệt giữa Docker và Containerd

Docker là nền tảng cho phép triển khai ứng dụng, xây dựng và kiểm thử nhanh chóng trên nhiều hệ điều hành khác nhau. Docker tạo ra các môi trường cách ly (container) để chạy các ứng dụng trên đó.

Containerd là một high-level container runtime, được thiết kế để quản lý vòng đời của các container.

Docker Containerd
là công cụ all-in-one tạo container từ đầu đến cuối là chương trình chỉ lo phần runtime
high level tool with a user-friendly interface. low-level Daemon program.
chứa container runtime và một số thành phần như Kubernetes, Docker-Compose, Docker Desktop chứa tất cả các chức năng được yêu cầu để xây dựng container (chỉ quản lý container)
có thể tạo các images, tải lên repositories, và xây dựng container chỉ xây dựng và quản lý container

Nói đơn giản: Docker là “full package”, còn Containerd là “máy chạy phía sau”. Ví dụ: khi bạn gõ lệnh docker run nginx, thì Docker sẽ gọi containerd để lo phần chạy container nginx đó.

Containerd là gì

3. Kết luận

Docker và Containerd là hai công cụ phổ biến để xây dựng và duy trì vòng đời containerd. Tuy nhiên, Docker cung cấp nhiều tính năng hơn Containerd.

Về cơ bản Docker cũng sử dụng containerd để quản lý các container. Nhưng nó được bổ sung Docker Hub và Compose nên nó cũng có nhiều sự khác biệt.

Nhìn chung, containerd có thể được sử dụng độc lập để tạo và quản lý Container. Tuy nhiên, các lệnh cấp thấp của nó có thể khó hiểu. Docker thân thiện với người dùng hơn và tăng năng suất của Nhà phát triển.

Hy vọng bài viết đã cung cấp cho bạn những thông tin cơ bản. Cảm ơn bạn đã tham khảo kubernetes cơ bản trên ttnguyen.net.

Bài viết liên quan:

Kubenetes Deployments là gì ?

Namespace và Cgroups trong K8S

Nguyễn Tiến Trường

Mình viết về những điều nhỏ nhặt trong cuộc sống, Viết về câu chuyện những ngày không có em