Giới thiệu

Giới thiệu

Containers là một giải pháp cho vấn đề làm thế nào để phần mềm chạy một cách đáng tin cậy khi được chuyển từ môi trường máy tính này sang môi trường máy tính khác.

  • Docker đã bùng nổ vào năm 2013 và nó đã gây ra sự phấn khích trong giới CNTT kể từ đó.

  • Công nghệ container do Docker cung cấp hứa hẹn sẽ thay đổi cách thức hoạt động của CNTT giống như cái cách mà công nghệ ảo hóa đã làm một vài năm trước đây.

Container là gì và tại sao cần sử dụng?

Containers là một giải pháp cho vấn đề làm thế nào để phần mềm chạy một cách đáng tin cậy khi được chuyển từ môi trường máy tính này sang môi trường máy tính khác. Điều này có thể là từ máy tính xách tay của nhà phát triển đến môi trường thử nghiệm, từ môi trường tiền sản xuất đến môi trường sản xuất và có thể từ máy vật lý trong trung tâm dữ liệu đến máy ảo trên cloud.

Các vấn đề phát sinh khi môi trường phần mềm hỗ trợ là không giống nhau, nhà sáng tạo Docker, Solomon Hykes nói. “Bạn sẽ thử nghiệm bằng Python 2.7, và sau đó nó sẽ chạy trên Python 3 trong môi trường production và điều gì đó kỳ lạ sẽ xảy ra. Hoặc bạn sẽ dựa vào hành vi của một phiên bản nhất định của thư viện SSL nhưng thay vào đó, trên thực tế một phiên bản khác sẽ được cài đặt . Bạn sẽ chạy thử nghiệm trên Debian và chạy trên môi trường production là Red Hat và tất cả những điều kỳ lạ xảy ra. “

Sự khác biệt giữa container và ảo hóa là gì?

Container

Với công nghệ ảo hóa, các gói là một máy ảo và nó bao gồm toàn bộ hệ điều hành cũng như ứng dụng. Một máy chủ vật lý chạy ba máy ảo sẽ có một trình ảo hóa và ba hệ điều hành riêng biệt chạy trên nó.

Ngược lại, một máy chủ chạy ba ứng dụng được đóng gói với Docker chạy một hệ điều hành và mỗi container chia sẻ nhân hệ điều hành với các container khác. Các phần được chia sẻ của hệ điều hành có chức năng chỉ cho phép được đọc, trong khi mỗi container có các phân vùng riêng (nghĩa là cách truy cập vào bộ chứa) cho quá trình ghi. Điều đó có nghĩa là các container nhẹ hơn nhiều và sử dụng ít tài nguyên hơn nhiều so với máy ảo.