Hình ảnh này có thể giúp bạn hiểu được sự khác biệt chính giữa chúng:
Điều mà tất cả chúng đều có điểm chung, đó là cả 3 công nghệ này đều liên quan đến container.
Các thùng chứa là một cơ chế ảo hóa nhẹ, không yêu cầu bạn phải thiết lập một máy ảo trên mô phỏng phần cứng vật lý. Trong Linux, những gì họ có điểm chung là những tính năng Kernel sử dụng: cgroups
, namespaces(ipc, network, user, pid, mount)
. Họ cũng cố gắng tạo ra các môi trường an toàn hơn bằng cách tạo các thùng chứa không có đặc quyền và tích hợp với các tính năng bảo mật như thế nào selinux
. Những công nghệ này xuất API để tích hợp tốt hơn với các phần mềm khác.
Hai tích hợp cùng một gia đình trong đó:
- lxc : giao diện không gian người dùng cho các tính năng ngăn chặn nhân Linux. Đây là anh chàng quản lý các không gian tên Kernel, hồ sơ Apparmor và SELinux, Chroots, khả năng của kernel và mọi thứ khác liên quan đến kernel
- lxd : là một "trình ảo hóa" chứa. Nó được sáng tác bởi một daemon (lxd), giao diện dòng lệnh (lxc) và plugin OpenStack. Anh chàng này được phát triển để cung cấp nhiều tính năng và tính linh hoạt hơn cho lxc, trong khi họ vẫn sử dụng nó.
Về cơ bản, một không gian người dùng hệ điều hành tự chứa được tạo ra với cơ sở hạ tầng biệt lập của nó. lxc làm cơ sở trực tiếp hơn cho các tính năng của hệ điều hành để kết nối và lưu trữ so với Docker.
Bạn tạo nhiều máy ảo, có cách ly không gian người dùng và hạt nhân, nhưng chúng không hoàn thành các máy ảo vì chúng không chạy các hạt nhân tách biệt, cũng không bị ảo hóa vì cùng một lý do.
Canonical là nhà tài trợ chính ở đây và Oracle cũng đang đầu tư nhiều giờ cho công nghệ này.
Nó có một số điểm khác biệt, là phần lớn nhất trong số chúng là Công cụ kết hợp các Ứng dụng với hệ thống tệp độc lập thay vì "Hình ảnh không gian người dùng" cơ bản. Ý tưởng là chứa ứng dụng và hình ảnh cơ sở để tạo ấn tượng rằng Ứng dụng là một quá trình duy nhất bên trong động cơ. Docker đã sử dụng công nghệ lxc làm cơ sở để giao tiếp với kernel, nhưng ngày nay, nó sử dụng thư viện riêng của mình, libcontainer .
Hệ thống tập tin là một bản tóm tắt cho Docker, trong khi lxc sử dụng các tính năng của hệ thống tập tin trực tiếp. Mạng cũng là một sự trừu tượng trong khi với lxc, bạn có thể thiết lập địa chỉ IP và cấu hình định tuyến dễ dàng hơn. Một số trang web "App Store like" đang được Microsoft, Amazon, Vmware, IBM và các người chơi khác duy trì.
Docker. INC là nhà tài trợ chính ở đây. Vmware cũng đang đầu tư vào công nghệ này.
Công nghệ container liên quan:
Đây là những công nghệ chứa khác mà Linux có: OpenVZ và Linux-VServer
Nội dung liên quan: