Docker là gì? Cơ bản về Docker

LAMP Nov 09, 2020

1. Tại sao nên sử dụng docker?
Khi bạn muốn ứng dụng của bạn chạy trên nhiều máy local khác nhau, hay khi bạn deploy ứng dụng của bạn lên 1 hay nhiều server thì bạn sẽ cần cài đặt môi trường, thư viện cần thiết cho ứng dụng đó. Quá trình này sẽ mất nhiều thời gian chưa kể đến việc không đồng nhất giữa các phiên bản. Vì vậy docker được ra đời, nó sẽ đóng gói toàn bộ operating system, source code, library và khi cần chạy ứng dụng bạn chỉ cần run containers của Docker.

2. Docker là gì?
Docker là một nền tảng mở để develop, chạy application. Docker cho phép bạn tách các ứng dụng khỏi cơ sở hạ tầng để bạn có thể phân phối phần mềm một cách nhanh chóng. Với Docker, bạn có thể quản lý cơ sở hạ tầng của mình giống như cách bạn quản lý các ứng dụng của mình.

3. Thành phần chính cơ bản của Docker.
Docker bao gồm 3 thành phần chính: docker file, docker image, docker container.

Dockerfile-flow.png-1040x0

Docker file: là một file cấu trúc dùng để hướng dẫn docker đóng gói các image cần thiết theo yêu cầu của bạn.

Docker image: là một template của container. Một image bao gồm OS, package, library và các môi trường được cài đặt sẵn. Bạn có thể tự tạo ra 1 image để sử dụng hoặc tải các image đã có sẵn.

Docker container: tương tự như một máy ảo, được tạo ra khi khởi chạy image. Nó chứa toàn bộ những thứ cần thiết để ứng dụng có thể chạy được. Ứng dụng của bạn sẽ chỉ chạy trong thùng chứa “container" này mà không ảnh hưởng ra bên ngoài.

4. Ví dụ thực tế.
Các khái niệm trên nghe có vẻ khá trừu tượng nên mình sẽ liên hệ với một ví dụ thực tế để mọi người có thể hiểu rõ ngay.

Khi bạn xây một ngôi nhà thì bản thiết kế chính là Docker file, toàn bộ vật liệu, nội thất trong nhà sẽ là Docker image. Quá trình những người thợ hoàn thiện ngôi nhà từ những vật liệu có sẵn sẽ tương ứng với quá trình run container trong Docker. Ngôi nhà đã hoàn thiện tương ứng với Docker container, bạn sẽ có thể sử dụng ngay mọi thứ trong ngôi nhà giống như bạn chạy ứng dụng của bạn bên trong container.

Tags

Great! You've successfully subscribed.
Great! Next, complete checkout for full access.
Welcome back! You've successfully signed in.
Success! Your account is fully activated, you now have access to all content.