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-Logo_Horizontel_279x131

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à 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. 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 nhà phát triển và quản trị 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. AWS hỗ trợ cả hai mô hình giấy phép Docker, Docker Community Edition (CE) nguồn mở và Docker Enterprise Edition (EE). hoạt động theo hình thức gói đăng ký.

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 bộ chứa. 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 EKSAWS Batch giúp bạn dễ dàng chạy các bộ chứa Docker ở quy mô lớn.

monolith_2-VM-vs-Containers

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

Việc sử dụng Docker sẽ giú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.

100x100_benefit_deployment1

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.

100x100_benefit_tools

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.

100x100_benefit_migration

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.

100x100_benefit_lowcost-affordable

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

100x100_benefit_ccontainers

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.

100x100_benefit_delivery

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.

AWS_Benefit Icon_AutomatedOperations

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.

100x100_benefit_get-started-2

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

Câu hỏi: Docker có miễn phí không?

Docker Community Edition (CE) miễn phí và ai cũng có thể sử dụng được. Phiên bản này của Docker là phiên bản nguồn mở và có thể sử dụng trên nhiều nền tảng, trong đó có Windows, Mac và Linux. Bạn có thể tự cài đặt Docker CE trên máy tính của bạn hoặc phiên bản máy ảo Amazon EC2 hoặc bắt đầu ngay lập tức với AMI được tối ưu hóa cho Amazon ECS

Docker Enterprise Edition (EE) bổ sung nhiều tính năng quản lý luồng công việc và bảo mật đồng thời là phiên bản đăng ký trả phí được cung cấp trên AWS Marketplace.

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 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.

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

Ảnh Docker là mẫu chỉ đọc xác định bộ chứa 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. Bộ chứa 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 Swarm, Kubernetes và Amazon ECS khác nhau ở điểm nào?

Nếu bạn muốn chạy nhiều bộ chứa Docker, các công cụ điều phối như Docker Swarm, KubernetesAmazon Elastic Container Service (ECS) sẽ cho bạn khả năng khởi động, dừng và theo dõi hàng nghìn (hoặc hàng triệu) bộ chứa. 

Docker Swarm là phần mềm điều phối do Docker tạo ra mà bạn có thể tự mình chạy và quản lý. Kubernetes là phần mềm điều phối bộ chứa nguồn mở do cộng đồng duy trì mà bạn có thể tự mình chạy và quản lý. Amazon EKS giúp việc chạy Kubernetes trên AWS trở nên dễ dàng hơn bằng cách quản lý mặt phẳng điều khiển Kubernetes cho bộ chứa của bạn. Amazon ECS là dịch vụ AWS được quản lý đầy đủ giúp cho việc chạy bộ chứa trên AWS trở nên dễ dàng nhờ khả năng tích hợp sâu với các dịch vụ AWS như VPC, cân bằng tải, khám phá dịch vụ và vai trò IAM.

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

monolith_2-VM-vs-Containers

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. 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 bộ chứa mà không cần cung cấp hay quản lý máy chủ. Amazon Elastic Container Registry (ECR) là kho bộ chứa 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 bộ chứa 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.

new_product_ecs

Amazon ECS

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

new_product_fargate

AWS Fargate

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

new_product_eks

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.  

new_product_ecr

Amazon ECR

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

new_product_batch

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 bộ chứa trên AWS.

new_product_docker_cleanwhale

Docker EE cung cấp nền tảng quản lý và bảo mật bộ chứa doanh nghiệp được tối ưu hóa cho các môi trường Amazon EC2

Docker EE được cung cấp dưới dạng gói đăng ký từ AWS Marketplace. Bạn đã có giấy phép Docker EE rồi? Hãy khởi chạy trên AWS với Docker EE Standard.

Bắt đầu sử dụng Docker

Các bước bên dưới sẽ giúp bạn bắt đầu sử dụng Docker trên AWS chỉ trong vài phút!
icon1
Đăng ký Tài khoản AWS
Có quyền sử dụng ngay lập tức Bậc miễn phí của AWS.
icon2
Triển khai bộ chứa Docker trong 10 phút
Khám phá và tìm hiểu về Docker bằng hướng dẫn đơn giản này

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

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