FOSSBYTES TECH SIMPLIFIED LOGO
Today, chúng tôi đang bắt đầu hoàn thành loạt bài hướng dẫn trên Docker và đây là bài đăng đầu tiên mô tả về các khái niệm cốt lõi đằng sau Docker. Khi bạn tiếp tục, bạn sẽ tìm hiểu thêm về triển khai Docker và cách sử dụng nó.

Bạn có thể biết rằng các công nghệ ảo hóa hiện có như VirtualBox, VMWare, KVM, Xen hoặc ESXi, v.v., sử dụng ảo hóa toàn máy cung cấp khả năng cách ly cao hơn với chi phí lớn hơn, vì mỗi máy ảo chạy phiên bản hệ điều hành và hạt nhân đầy đủ của riêng nó.

Mặt khác, vùng chứa thường cung cấp ít sự cô lập hơn nhưng chi phí thấp hơn thông qua việc chia sẻ một số phần nhất định của hạt nhân máy chủ và phiên bản hệ điều hành.

Xem thêm: Bắt đầu với Linux

người đóng tàu
máy ảo so với vùng chứa

Các thùng chứa Linux không cung cấp một máy ảo, mà cung cấp một môi trường ảo có CPU, bộ nhớ, khối I/O, mạng, v.v. của riêng nó. Điều này được cung cấp bởi nhóm các tính năng trong nhân Linux trên máy chủ LXC. Nó tương tự như một chroot, nhưng cung cấp nhiều sự cô lập hơn.

Docker, mặt khác, là sự trừu tượng hóa ở mức độ cao đối với các vùng chứa để quản lý vòng đời của các vùng chứa. Trước khi phát hành 0,90, Docker đang sử dụng LXC. Nhưng, với phát hành phiên bản 0.9, Docker đã bỏ LXC làm môi trường thực thi mặc định, thay thế nó bằng libcontainer.

Libcontainer cung cấp triển khai Go nguyên bản để tạo vùng chứa với không gian tên, nhóm, khả năng và điều khiển truy cập hệ thống tệp. Nó cho phép Docker quản lý vòng đời của vùng chứa thực hiện các hoạt động bổ sung sau khi vùng chứa được tạo.

Docker cho phép bạn đóng gói một ứng dụng với tất cả các phụ thuộc của nó thành một đơn vị tiêu chuẩn hóa để phát triển phần mềm. Và nếu đơn vị đó chạy trên cục bộ của bạn, bạn có thể đảm bảo rằng nó sẽ chạy chính xác theo cùng một cách, ở bất kỳ đâu từ QA, đến dàn dựng, đến môi trường sản xuất. Bạn sẽ biết thêm về cách tạo các đơn vị được tiêu chuẩn hóa như vậy và cách chuyển nó từ địa phương đến môi trường sản xuất, ở phần sau của loạt bài này.

Tôi hy vọng bây giờ bạn đã quen thuộc với các khái niệm cốt lõi của Container và trong bài viết tiếp theo, chúng ta sẽ thảo luận thêm về Docker và các thuật ngữ của nó.

Hãy biến nó thành một chuỗi tương tác. Hãy cho chúng tôi biết quan điểm, nghi ngờ hoặc câu hỏi của bạn trong phần bình luận bên dưới.

Chỉnh sửa:

nhóm (hay còn gọi là nhóm điều khiển) là một tính năng của hạt nhân Linux để giới hạn, cảnh sát và giải trình việc sử dụng tài nguyên của các quy trình nhất định (thực tế là các nhóm quy trình). Có nhiều nỗ lực để cung cấp các tổng hợp quy trình trong nhân Linux, chủ yếu cho mục đích theo dõi tài nguyên. Những nỗ lực như vậy bao gồm cpuset, CKRM/ResGroups, UserBeanCounters và không gian tên máy chủ ảo. Tất cả những điều này đều yêu cầu khái niệm cơ bản về nhóm/phân vùng các quy trình, với các quy trình mới được chia nhỏ kết thúc trong cùng một nhóm (cgroup) với quy trình mẹ của chúng. Thông tin thêm về cgroup – Giới thiệu về Nhóm kiểm soát (Nhóm).

không gian tên – Trên một máy chủ, nơi bạn muốn chạy nhiều dịch vụ, điều cần thiết để bảo mật và ổn định là các dịch vụ phải biệt lập với nhau. Hãy tưởng tượng một máy chủ chạy nhiều dịch vụ, một trong số đó bị xâm nhập bởi kẻ xâm nhập. Trong trường hợp như vậy, kẻ xâm nhập có thể khai thác dịch vụ đó và hoạt động theo cách của mình đối với các dịch vụ khác, và thậm chí có thể xâm nhập toàn bộ máy chủ. Cách ly không gian tên có thể cung cấp một môi trường an toàn để loại bỏ nguy cơ này. Thông tin thêm về không gian tên – Tổng quan về không gian tên.

Hãy đọc ngay bây giờ: Bắt đầu với Docker – Hệ sinh thái Docker và các thuật ngữ (Phần -2)

This post is also available in: Spanish German Tiếng Việt Indonesian

LEAVE A REPLY

Please enter your comment!
Please enter your name here