Docker là gì ? Tìm hiểu một số định nghĩa cơ bản về Docker

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

Hiii xin chào mọi người , cũng đã một thời gian dài Nghi không viết blog, hôm nay Nghi sẽ mang đến cho các bạn những khái niệm đơn giản nhất về Docker - một phần mềm đem lại sự đồng bộ. Hãy cùng tìm hiểu Chi tiết hơn bên dưới nhé !

Docker là gì ?

Trước hết Nghi sẽ giải thích với mọi người Docker là gì , và vì sao chúng ta có khái niệm Docker được sinh ra. Docker hay Docker Container ( cũng có thể gọi là 1 Container) là một trong những cách gọi khác nhau của Docker. Docker được ví như một thư mục (directory), chứa tất cả những file , thư mục ,...cần thiết để một ứng dụng có thể chạy được ở bất kì hệ điều hành nào. Docker Container sẽ chứa Docker Image. Docker giúp tạo ra một môi trường cho các ứng dụng và đóng gói các ứng dụng.

Chắc hẳn các bạn đọc tới đây cũng hiểu vì sao Docker được ra đời rồi đúng không ? Trước khi có khái niệm Container , chúng ta đã có một khái niệm đó là Virtualization ( máy ảo) giúp thiết lập một hệ điều hành thứ hai khác hệ điều hành của máy , do mỗi máy chỉ cài đặt được duy nhất một hệ điều hành. Nhược điểm thời gian khởi động, tắt mở, dùng chung tài nguyên với hệ điều hành gốc trong máy gây lãng phí tài nguyên máy tính. Và Docker được sinh ra để giúp chúng ta có thể chạy được project mà không cần cài đặt thêm máy ảo , nó không bị các yếu tố liên quan đến môi trường hệ thống làm ảnh hưởng và cũng không gây ảnh hưởng đến các phần khác trong hệ thống của bạn. Các thay đổi được lưu trữ trong các Docker image, các lớp tệp hệ thống được tạo ra và lưu lại dựa theo từng lớp (layer). Điều này giúp cho ảnh Docker giảm dung lượng đáng kể so với máy ảo (VM).Chưa kể thời gian khởi động cực kì nhanh chỉ với vài dòng Command, có thể triển khai ngay ở bất kì đâu mà không phụ thuộc yếu tố nào về OS hay cơ sở hạ tầng cả. Quá tiện lợi! Docker lần đầu tiên được phát hành dưới dạng mã nguồn mở vào tháng 3 năm 2013 bằng Python, từ năm 2014 chuyên sang Go-lang và đang hỗ trợ rất nhiều dịch vụ điện toán đám mây nổi tiếng , điển hình là Amazon Web Services.

Các thành phần của Docker?

Docker Engine

là phần cốt lõi của Docker, Docker Engine sẽ chứa tất cả các tool cho phép người dùng đóng gói ứng dụng thành các Docker Image , tạo và khởi chạy Container từ các Docker Image đã được tạo.

Docker Image

Nếu các bạn đã cài Windows thì chắc hẳn đã nghe tới khái niệm ghost , thì Docker Image được hiểu nôm na như một bản ghost . Nó là một dạng tập hợp các tệp của ứng dụng, được tạo ra bởi Docker engine. Nội dung của các Docker image sẽ không bị thay đổi khi di chuyển. Docker image được dùng để chạy các Docker container.

Docker Hub

Là một dịch vụ lưu trữ giúp chứa các Docker image.

Docker Machine

Giúp tạo ra các Docker Engine trên máy chủ.

Docker Compose

Giúp chạy ứng dụng bằng cách định nghĩa cấu hình các Docker container thông qua tệp cấu hình đã có.

Quy trình hệ thống sử dụng Docker

Link tham khảo : https://docs.docker.com/get-started/overview/

Ở phía người dùng , chúng ta thấy hệ thống Docker gồm 3 bước chính: Build => Push/Pull => Run

Build

Tạo Docker Image

Một Docker Image được tạo ra từ Docker Engine, sau khi build ta sẽ có được một Docker Continer chứa toàn bộ môi trường, thư viện và ứng dụng ta cần chạy.

Push

Sau đó chúng ta sẽ Push container này lên Cloud thông qua Docker Hub

Pull/Run

Nếu một member khác muốn sử dụng Container này , họ buộc phải cài đặt Docker Engine , sau đó Pull Container về máy và Run Container này và có thể Run được suôn sẻ mà không phải mất thời gian cài đặt những thứ gì khác

Sử dụng Docker khi nào?

Khi bạn muốn xây dựng 1 ứng dụng và có thể scale qui mô một cách linh hoạt

Khi bạn muốn giảm thiểu thời gian config đơn lẻ server, máy local ở các môi trường khác nhau để có thể chạy đồng bộ ,chỉ cần build một lần mà có thể chạy ở nhiều nơi => Mang đến sự đồng nhất

Tiết kiệm chi phí vì đây là mã nguồn mở

Tiết kiệm tài nguyên máy tính

Thời gian khởi tạo nhanh

Các thao tác cài đặt cơ bản Docker

Cài đặt

Docker đang hỗ trợ cả Linux, Windows và cả MacOS và các dịch vụ điện toán đám mây khác như AWS

Có hai phiên bản chính là CE ( dành cho developer, coder) và EE( bản xịn sò dành cho doanh nghiệp)

Hiện nay chúng ta sử dụng bản CE đơn lẻ là chính

Cài đặt nhanh bằng giao diện : https://docs.docker.com/get-docker/

Cài đặt bằng dòng lệnh: https://docs.docker.com/engine/install/ubuntu/

Cảm ơn các bạn đã đọc

Trên đây là những tóm tắt ngắn gọn của mình về Dọcker, mong sẽ giúp các bạn hiểu rõ hơn phần nào một cách đơn giản về Docker và các khái niệm liên quan. Và điều quan trọng nhất , hãy đọc kĩ guidelines của docker vì họ đã giải thích vô cùng chi tiết và rõ ràng ở mục Document

Nghi sẽ trở lại với những nội dung thú vị khác~!?