Docker là gì?

Docker cho phép bạn dựng, kiểm thử và triển khai ứng dụng một cách nhanh chóng

Docker là nền tảng phần mềm cho phép bạn dựng, kiểm thử và triển khai ứng dụng một cách nhanh chóng. Docker đóng gói phần mềm vào các đơn vị tiêu chuẩn hóa được gọi là container có mọi thứ mà phần mềm cần để chạy, trong đó có thư viện, công cụ hệ thống, mã và thời gian chạy. Bằng cách sử dụng Docker, bạn có thể nhanh chóng triển khai và thay đổi quy mô ứng dụng vào bất kỳ môi trường nào và biết chắc rằng mã của bạn sẽ chạy được.

Việc chạy Docker trên AWS đem đến cho các nhà phát triển và quản trị viên một phương thức dựng, vận chuyển và chạy ứng dụng phân phối ở quy mô bất kỳ có chi phí thấp và độ tin cậy cao.

Thông báo gần đây: Docker hợp tác với AWS để hỗ trợ các nhà phát triển nhanh chóng đưa ứng dụng hiện đại lên đám mây. Sự hợp tác này giúp nhà phát triển sử dụng Docker Compose và Docker Desktop để tận dụng cùng một quy trình làm việc cục bộ mà họ sử dụng ngày nay để triển khai các ứng dụng trên Amazon ECS và AWS Fargate một cách liền mạch. Đọc blog để biết thêm thông tin.

Cách thức hoạt động của Docker

Docker hoạt động bằng cách cung cấp phương thức tiêu chuẩn để chạy mã của bạn. Docker là hệ điều hành dành cho container. Cũng tương tự như cách máy ảo ảo hóa (loại bỏ nhu cầu quản lý trực tiếp) phần cứng máy chủ, các container sẽ ảo hóa hệ điều hành của máy chủ. Docker được cài đặt trên từng máy chủ và cung cấp các lệnh đơn giản mà bạn có thể sử dụng để dựng, khởi động hoặc dừng container.

Các dịch vụ AWS như AWS Fargate, Amazon ECSAmazon EKSAWS Batch giúp bạn dễ dàng chạy các container Docker ở quy mô lớn.

Lý do nên sử dụng Docker

Việc sử dụng Docker cho phép bạn vận chuyển mã nhanh hơn, tiêu chuẩn hóa hoạt động của ứng dụng, di chuyển mã một cách trơn tru và tiết kiệm tiền bằng cách cải thiện khả năng tận dụng tài nguyên. Với Docker, bạn sẽ được nhận một đối tượng duy nhất có khả năng chạy ổn định ở bất kỳ đâu. Cú pháp đơn giản và không phức tạp của Docker sẽ cho bạn quyền kiểm soát hoàn toàn. Việc đưa vào áp dụng rộng rãi nền tảng này đã tạo ra một hệ sinh thái bền vững các công cụ và ứng dụng có thể sử dụng ngay đã sẵn sàng sử dụng với Docker.

Vận chuyển phần mềm nhiều hơn và nhanh hơn

Người dùng sử dụng Docker vận chuyển phần mềm nhanh hơn trung bình 7 lần so với người dùng không sử dụng Docker. Docker đem đến cho bạn khả năng vận chuyển dịch vụ được tách riêng với tần suất mong muốn.

Tiêu chuẩn hóa quá trình vận hành

Ứng dụng được đóng gói vào container nhỏ sẽ khiến cho việc triển khai, xác định vấn đề và đảo ngược để khắc phục trở nên dễ dàng.

Di chuyển trơn tru

Ứng dụng trên nền tảng Docker có thể được di chuyển trơn tru từ các máy phát triển cục bộ đến đơn vị triển khai sản xuất trên AWS.

Tiết kiệm tiền bạc

Container Docker giúp cho việc chạy nhiều mã hơn trên từng máy chủ trở nên dễ dàng hơn, cải thiện khả năng tận dụng và tiết kiệm tiền bạc cho bạn.

Thời điểm nên sử dụng Docker

Bạn có thể sử dụng container Docker làm khối dựng cốt lõi để tạo ra ứng dụng và nền tảng hiện đại. Docker khiến cho việc dựng và chạy các kiến trúc vi dịch vụ được phân phối, triển khai mã của bạn với quy trình tích hợp và phân phối liên tục được tiêu chuẩn hóa, xây dựng các hệ thống xử lý dữ liệu có quy mô cực kỳ linh hoạt cũng như tạo ra các nền tảng được quản lý đầy đủ dễ dàng hơn cho các nhà phát triển của bạn. Sự hợp tác gần đây giữa AWS và Docker giúp cho quá trình triển khai các thành phần lạ Docker Compose cho Amazon ECS và AWS Fargate trở nên dễ dàng hơn. 

Vi dịch vụ

Xây dựng và thay đổi quy mô các kiến trúc ứng dụng được phân phối bằng cách tận dụng đơn vị triển khai mã tiêu chuẩn hóa bằng cách sử dụng container Docker.

Tích hợp và phân phối liên tục

Tăng tốc phân phối ứng dụng bằng cách tiêu chuẩn hóa môi trường và loại bỏ xung đột giữa các cụm ngôn ngữ và phiên bản.

Xử lý dữ liệu

Cung cấp khả năng xử lý dữ liệu lớn dưới dạng dịch vụ. Đóng gói dữ liệu và gói phân tích vào các container di động mà người dùng không biết kỹ thuật cũng có thể thực thi.

Container dưới dạng dịch vụ

Xây dựng và vận chuyển các ứng dụng được phân phối có nội dung và kiến trúc được quản lý về mặt CNTT và bảo mật.

Câu hỏi thường gặp đối với Docker

Câu hỏi: Tôi có thể làm những gì với Docker?

Bằng cách sử dụng Docker, bạn có thể nhanh chóng triển khai và thay đổi quy mô ứng dụng vào bất kỳ môi trường nào và biết chắc rằng mã của bạn sẽ chạy được. Bạn làm được là vì Docker đóng gói phần mềm vào các đơn vị tiêu chuẩn hóa được gọi là container có mọi thứ mà phần mềm cần để chạy, trong đó có thư viện, công cụ hệ thống, mã và thời gian chạy.

Câu hỏi: Ảnh Docker là gì?

Ảnh Docker là mẫu chỉ đọc xác định container của bạn. Ảnh này chứa mã sẽ chạy, trong đó có mọi định nghĩa đối với các thư viện bất kỳ và các quan hệ phụ thuộc mà mã cần. Container Docker là ảnh Docker thay biến bằng giá trị (chạy). AWS cung cấp Amazon Elastic Container Registry (ECR), sổ đăng ký ảnh để lưu trữ và nhanh chóng truy xuất ảnh Docker.

Câu hỏi: Docker và máy ảo khác nhau ở điểm nào?

Máy ảo (VM) có chức năng ảo hóa (hoặc loại bỏ nhu cầu quản lý trực tiếp) phần cứng máy chủ còn các container có chức năng ảo hóa hệ điều hành của máy chủ. Docker là hệ điều hành (hoặc thời gian chạy) dành cho container. Docker Engine được cài đặt trên từng máy chủ bạn muốn chạy container và cung cấp bộ lệnh đơn giản mà bạn có thể sử dụng để dựng, khởi động hoặc dừng container.

Chạy Docker trên AWS

AWS cung cấp hỗ trợ cho cả giải pháp mã nguồn mở lẫn thương mại của Docker. Có nhiều cách chạy bộ chứa trên AWS, trong đó có Amazon Elastic Container Service (ECS) là dịch vụ quản lý bộ chứa có quy mô cực kỳ linh hoạt và hiệu năng cao. Khách hàng có thể dễ dàng triển khai ứng dụng đã đưa vào bộ chứa của mình từ môi trường Docker cục bộ lên thẳng Amazon ECS. AWS Fargate là công nghệ dành cho Amazon ECS cho phép bạn chạy bộ chứa trong sản xuất mà không cần triển khai hoặc quản lý cơ sở hạ tầng. Amazon Elastic Container Service for Kubernetes (EKS) giúp việc chạy Kubernetes trên AWS trở nên dễ dàng. AWS Fargate là công nghệ dành cho Amazon ECS cho phép bạn chạy container mà không cần cung cấp hay quản lý máy chủ. Amazon Elastic Container Registry (ECR) là kho container riêng bảo mật và có độ sẵn sàng cao giúp việc lưu trữ và quản lý ảnh container Docker của bạn trở nên dễ dàng, mã hóa và nén ảnh khi lưu trữ để quá trình bung diễn ra nhanh chóng và bảo mật. AWS Batch giúp bạn chạy các khối lượng công việc xử lý hàng loạt có quy mô cực kỳ linh hoạt bằng cách sử dụng container Docker.

Amazon ECS

Amazon ECS là dịch vụ điều phối container có hiệu năng cao và quy mô cực kỳ linh hoạt để chạy container Docker trên đám mây AWS.

AWS Fargate

AWS Fargate là công nghệ dành cho Amazon ECS cho phép bạn chạy container Docker mà không cần triển khai hoặc quản lý cơ sở hạ tầng.

Amazon EKS

Amazon EKS giúp bạn dễ dàng chạy Kubernetes trên AWS mà không cần cài đặt hay vận hành các đơn vị Kubernetes chính.  

Amazon ECR

Amazon ECR là kho container riêng, bảo mật và có độ sẵn sàng cao giúp việc lưu trữ cũng như quản lý ảnh container Docker trở nên dễ dàng.

AWS Batch

AWS Batch giúp các nhà phát triển, nhà khoa học và kỹ sư dễ dàng chạy các tác vụ điện toán hàng loạt một cách hiệu quả bằng cách sử dụng container trên AWS.

AWS Copilot

AWS Copilot là một giao diện dòng lệnh cho phép khách hàng khởi chạy và dễ dàng quản lý các ứng dụng trong bộ chứa trên AWS.

Tìm hiểu thêm về bộ chứa

Truy cập trang container
Bạn đã sẵn sàng xây dựng chưa?
Triển khai container Docker
Bạn có thêm câu hỏi?
Liên hệ với chúng tôi