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

Tổng quan

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ị được tiêu chuẩn hóa được gọi là bộ chứa có mọi thứ mà phần mềm cần để chạy, bao gồm thư viện, công cụ hệ thống, mã và thời gian hoạt động. Bằng cách sử dụng Docker, bạn sẽ 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 bộ chứa 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 bộ chứa.

Các dịch vụ AWS như AWS Fargate, Amazon ECSAmazon EKSLô AWS giúp bạn dễ dàng chạy và quản lý các bộ chứa Docker ở quy mô lớn.

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

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 bộ chứa 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

Bộ chứa 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 bộ chứa 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 bộ chứa di động mà người dùng không biết kỹ thuật cũng có thể thực thi.

Bộ chứa 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

Bằng cách sử dụng Docker, bạn sẽ 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 thành các đơn vị tiêu chuẩn hóa được gọi là bộ chứa có mọi thứ 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.

Ả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 Sổ đăng ký bộ chứa linh hoạt của Amazon (ECR), là sổ đăng ký hình ảnh để lưu trữ và nhanh chóng truy xuất hình ảnh Docker.

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 bộ chứa 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 bộ chứa.

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 bộ chứa Docker.