Docker là gì? Những hiểu biết cơ bản nhất về Docker

Docker là gì? Docker và máy ảo có khác nhau không ? Ưu điểm của Docker ? Các trường hợp sử dụng Docker? Các lệnh cơ bản của Docker ? Quy trình sử dụng Docker như thế nào?


 

Docker là gì?

Docker (hay còn gọi là Container) chính là một công cụ có chức năng “đóng gói” trên máy tính, tạo thành một môi trường chạy độc lập, không gây ảnh hưởng đến môi trường hiện tại của máy tính.

Hiện nay, hàng loạt các ứng dụng được tạo ra kéo theo sự hình thành của nhiều ngôn ngữ lập trình mới. Những ngôn ngữ lập trình khác nhau lại đòi hỏi một môi trường hỗ trợ không giống nhau về phần mềm hỗ trợ, thư viện, ... do đó nếu bạn muốn phát triển ứng dụng thì bạn phải cài hang tá môi trường khác nhau. Điều đó cũng dễ dẫn đến việc xung đột phần mềm, làm công sức của bạn bỗng nhiên trở thành “công cóc”. Chính vì điều đó mà các nhà phát triển ứng dụng đã tạo ra Docker – một công cụ đóng gói môi trường hiệu quả mà bạn có thể dùng được trên máy tính, trên đám mây và các nền tảng khác nữa. Và điều quan trọng nữa là, nó phù hợp với mọi hệ điều hành.

Một số nhà phát triển thường tạo sẵn các môi trường này và chia sẻ lên mạng để những ai đang cần có thể lấy về sử dụng, những cái đó gọi là các Images.

Docker và máy ảo có khác nhau không ?

Câu trả lời là có. Hãy cùng theo dõi xem chúng khác nhau như thế nào nhé!

Docker là công cụ đóng gói:

Tạo ra môi trường, thư viện và ứng dụng. Nó còn có thể đóng gói luôn cả hệ điều hành. Trong docker, chúng ta có thể tạo ra rất nhiều containers, mỗi containers như vậy sẽ chứa các thư viện riêng và chia sẻ cùng nhau. Docker chạy được trên mọi nền tảng như : trên máy tính, đám mây,.... Do vậy mà người dung có thể di chuyển ứng dụng đến bất kỳ nơi đâu mà không phải lo đến môi trường phát triển hay việc thiếu thư viện, ...

Máy ảo:

Không có chức năng đóng gói, mỗi máy ảo sẽ chứa ứng dụng, kèm theo đó là các thư viện và hệ điều hành, mỗi ứng dụng trong máy ảo có dung lượng hàng chục GBs.

Docker và máy ảo khác nhau

Ưu điểm của Docker

- Docker được đánh giá là 1 phần mềm quản lý cơ sở hạ tầng rất tốt và dễ sử dụng. Docker có thể làm việc rất tốt với các công cụ quản lý file config.

- Docker có thể giám sát các file hệ thống và bạn có thể chia sẻ nó với người dùng khác (tương tự như cách hoạt động của Git).

- Docker có một thư viện trung tâm của các Disk Images (được thiết lập ở dạng public hoặc private), nó cho phép bạn chạy trên các hệ điều hành khác nhau một cách dễ dàng (Ubuntu, Fedora, Centos, Gentoo).

Các trường hợp sử dụng Docker

- Docker là một công cụ giúp cho bạn thực hiện các công việc phát triển ứng dụng hay điều hành hàng ngày của bạn một cách đơn giản nhất, giống như Java và Git, ...

- Nếu bạn muốn chạy những dòng code trên laptop trong môi trường giống như server thì hãy sử dụng Docker.

- Docker sẽ trở thành một phần mềm quản lý phiên bản cho toàn hệ điều hành của bạn.

- Khi bạn muốn chia sẻ hay hợp tác hệ điều hành của bạn đang dung với một group ảo nào đó thì Docker sẽ làm thay bạn điều đó

- Nếu quá trình phát triển app của bạn cần trải qua nhiều giai đoạn khác nhau thì lúc đó bạn cần sử dụng Docker để mọi thứ trở nên dễ dàng hơn.

Các thao tác cơ bản của Docker

- Pull một image từ Docker Hub
- Tạo một container.
- Xoá một container
- Khởi động và truy cập lại container đã tắt
- Liệt kê các container đang chạy.
- Xoá một image
- Liệt kê các images hiện có

Quy trình sử dụng Docker như thế nào?

Hệ thống Docker hoạt động bao gồm 3 bước chính:

Bước 1 : Build

Trong bước này bạn phải tạo ra docker image với 1 máy tính có docker engine. Sau bước này, ta sẽ nhận được các sản phẩm đó là : docker container, docker container chứa tất cả môi trường, thư viện và ứng dụng của chúng ta.

Bước 2 : Push

Thông qua docker hub, chúng ta thực hiện thao tác push container vừa tạo lên đám mây.

Bước 3 : Pull/run

Nếu 1 thành viên khác muốn sử dụng môi trường, thư viện và ứng dụng của bạn đã khởi tạo thì học buộc phải cài đặt docker engine. Tiếp theo phải pull container về máy và run (chạy) container này. Việc này giúp họ thuận tiện hơn trong việc phát triển thêm ứng dụng mà không cần cài đặt các thứ liên quan.

Lời Kết

Trên đây là những thong tin về docker là gì và thực tế là Docker đang dần thay đổi thói quen làm việc của nhiều lập trình viên và nhất là các admin. Điều đó dẫn đến cộng đồng Docker đang phát triển mạnh mẽ. Cho nên, việc dành chút thời gian để dung thử docker không phải là gợi ý tồi vì bạn sẽ cảm thấy sự trải nghiệm này vô cùng thú vị.