12/08/2018, 15:46

Hệ sinh thái Docker

Việc học Docker từ con số 0 có thể khiến bạn cảm thấy choáng ngợp, bài viết này sẽ giới thiệu và giải thích công dụng của 8 Docker tool và dịch vụ. Docker Daemon Docker Daemon chạy trên OS host của bạn. Thường thì là máy tính cá nhân hoặc một server trên cloud. Hiện tại nó chỉ chạy trên linux ...

Việc học Docker từ con số 0 có thể khiến bạn cảm thấy choáng ngợp, bài viết này sẽ giới thiệu và giải thích công dụng của 8 Docker tool và dịch vụ.

Docker Daemon

Docker Daemon chạy trên OS host của bạn. Thường thì là máy tính cá nhân hoặc một server trên cloud. Hiện tại nó chỉ chạy trên linux nhưng cũng có vài cách để chạy Docker trên Windows và Mac. Bạn có thể hiểu đây là một dịch vụ chạy ngầm, nó là đầu não của mọi hoạt động quản lý Docker container.

Công dụng:

Cung cấp các tính năng core của Docker.

Docker CLI

Docker CLI là một cách để tương tác với Docker Daemon. Docker Daemon cung cấp API và Docker CLI là một công cụ để sử dụng API đó. Bạn bắt buộc phải biết sử dụng Docker CLI, tuy nhiên, trong các hoạt động hàng ngày bạn sẽ thường sử dụng một tool khác là Docker Compose, nhưng nó yêu cầu bạn phải biết Docker CLI hoạt động thế nào.

Công dụng:

Sử dụng để tạo, đọc, sửa, xóa các component của Docker như image, container, network và volumn.

Docker Compose

Docker Compose là một tool giúp ta sử dụng Docker một cách tiện lợi và hiệu quả hơn so với dùng Docker CLI, tuy nhiên, bản chất nó vẫn chạy trên Docker CLI. Nó giúp bạn chạy một tập các lệnh Docker CLI chứa trong một file YAML.

Công dụng:

Docker Compose giúp bạn khởi động hoặc tắt một hay nhiều container một cách dễ dàng. Nó là thứ bạn sẽ dùng hàng ngày khi làm việc.

Docker for Mac/Windows

Là những công cụ giúp bạn cài đặt Docker trên Mac hoặc Windows. Chúng đều sử dụng hypervisor của OS để cài đặt Docker, đó là HyperKit của MacOS và Hyper-V của Windows. Nó cài đặt Docker Daemon, Docker CLI, Docker Compose và Docker Machine.

Công dụng:

Cho phép bạn chạy Docker trên môi trường ko phải là Linux mà vẫn có được gần như đầy đủ chức năng như khi chạy trên Linux.

Docker Toolbox

Một cách cũ để cài đặt Docker trên MacOS và Windows. Mặc dù là cách cũ, nhưng nó vẫn đc tiếp tục bảo trì và nó đặc biệt cần thiết trong trường hợp muốn cài Docker vào phiên bản Windows ko có Hyper-V (Bản Windows Home Edition). Nó cài đặt Docker Daemon, Docker CLI, Docker Compose, VirtualBox, Docker Machine, Docker Quickstart Terminal và Kitematic.

VirtualBox Vì Docker ko thể chạy trên MacOS và Windows, VirtualBox dùng để tạo ra một máy ảo chạy Linux. Máy ảo này được quản lý toàn bộ bởi Docker nên bạn cũng ko cần thiết phải tương tác với nó.

Docker Quickstart Terminal Là một terminal đã được cài đặt sẵn để kết nối với Docker Daemon đang chạy ở một remote host (máy ảo Linux của VirtualBox).

Kitematic Là một tool để quản lý Docker với giao diện tương tác, khác với cách gõ lệnh của Docker CLI. Cá nhân tôi thì ko thích sử dụng Kitematic vì nó là cái mà ta sẽ ko dùng khi chạy ở production.

Công dụng:

Cho phép bạn cài đặt Docker trên những Mac hoặc Windows mà Docker for Mac/Windows ko cài đc.

Docker Machine

Là một command line tool giúp bạn cài tạo server và cài đặt Docker lên chúng. Server đó có thể là một máy ảo của VirtualBox, hoặc là một server trên cloud. Hiện tại thì có adapter cho DigitalOcean, AWS và Azure.

Công dụng:

Dùng để cài đặt và tạo một server mới một cách dễ dàng với Docker.

Docker Hub/Store

Docker Hub và Store là websites mà bạn vào để tìm Docker image hoặc thậm chí lưu trữ luôn cả image của chính mình (cả public và private). Docker Store còn cung cấp thêm vài các khác ngoài image như plugin, một số binary cài đặt Docker và liệt kê các dịch vụ trả phí mà bạn đang sử dụng.

Công dụng:

Nếu bạn đang cần tìm nginx, PostgreSQL hay hàng trăm dịch vụ đã được Docker hóa khác thì Docker Hub là nơi mà bạn vào. Bạn cũng có thể push và pull image của chính mình lên, hoặc động bộ các build tới Github/BitBucket để phân phối các image của mình lên server.

Docker Swarm

Docker Swarm giúp bạn quản lý một tập các server mà có 1 hoặc nhiều service. Bạn sẽ có thêm vài tính năng tiện lợi như load balancing, service discovery...

Công dụng:

Dùng khi bạn muốn scale nhiều hơn 1 host và cần những tính năng mà nó cung cấp. Bạn có thể khởi tạo Swarm ở bất kì cloud server nào chạy đc Docker.

Nguồn: https://nickjanetakis.com/blog/get-to-know-dockers-ecosystem

0