Mẹo nhỏ: Để tìm kiếm chính xác các bài viết của Mapleshoes.vn, hãy search trên Google với cú pháp: "Từ khóa" + "Mapleshoes". (Ví dụ: cách chơi fifa online mapleshoes). Tìm kiếm ngay
83 lượt xem

Alpine là gì

lherrera trên medium, nó giải thích khá nhiều các thông tin cho các bạn mới bắt đầu với Docker. Mình xin phép lược dịch (có bỏ một số phần cho đơn giản và dễ hiểu cũng như thêm một số phần khác để giải thích kỹ hơn)Khi mới bắt đầu với Docker bạn có thể bị nhầm lẫn giữa một rừng các công cụ với tên kiểu Docker-something. Có một công cụ Docker Client, một thứ gọi là Docker Engine, rồi lại có một công cụ tên là Docker Machine, rồi build cluster với Docker Swarm, rồi lại đóng gói multi-container với Docker Compose và ti tỉ thứ khác… Mới nghe đã choáng hết cả đầu rồi.

Vì vậy mục đích của bài viết này là chúng ta sẽ cố gắng tìm hiểu ý nghĩa của các công cụ đó và mối quan hệ giữa chúng để hiểu rõ hơn về hệ sinh thái Docker.Bạn đang xem: Alpine là gì

1. Docker Engine

Nó là một công cụ lightweight runtime (từ này mình không biết dịch sao), nó giúp chúng ta build và chạy các Docker container. Về bản chất thì Docker là một ứng dụng client-server. Docker Client sẽ nói chuyện với Docker Engine thông qua một RESTful API, để thực thi các lệnh như build, shiprun một container như ví dụ dưới đây

 

*

 

Ở đây, lệnh docker chính là Docker Client, khi ta gõ lệnh docker version bản chất là Docker Client gọi tới API của Docker Engine với phương thức GET thông qua unix-socket.

Bạn đang xem: Alpine là gì

Điều này có nghĩa là ta hoàn toàn có thể giao tiếp với Docker Engine bằng một công cụ khác cũng được, miễn sao nó “biết” cách gọi tới các API của Docker Engine. Danh sách các API được cung cấp tại link.

Có 4 đối tượng lớn trong thế giới của Docker Engine và tất cả chúng đều có ID. Và bằng cách nào đó để chúng làm việc với nhau thì chúng ta có thể buid, ship và run application của chúng ta ở bất cứ nơi đâu.

Xem Thêm:  Cross cutting là gì

Images: image được sử dụng để đóng gói ứng dụng và các thành phần phụ thuộc của ứng dụng. Image có thể được lưu trữ ở local hoặc trên một registry. Registry là một dịch vụ giúp tổ chức và cung cấp các kho chứa các image.Container: container là một running instance của một Docker Images. Nếu thấy quá khó hiểu bạn có thể liên tưởng nó với một virtual machine về mặt chức năng.Volume: volume được thiết kể để lưu trữ các dữ liệu độc lập với vòng đời của container.

Chúng ta sẽ xem qua một biểu đồ minh họa các lệnh phổ biến của Docker Client và mối quan hệ giữa 4 thành phần trên.

Xem thêm: https://vonggosua.com.vn/0798-la-mang-gi/

Cách chơi fifa online 3 sever hàn quốc chi tiết, hướng dẫn tạo acc hàn của page fifa online 3

Cách tuyển hlv thể lực fo3

*

 

2. Distribution tools

Docker cung cấp 3 công cụ phân tán giúp chúng ta lưu trữ và quản lý các Docker image. Để tự dựng một private registry và lưu trữ các private image chúng ta có thể sử dụng một trong 2 công cụ sau:

Docker Registry: một open source image distribution tool giúp lưu trữ và quản lý imageDocker Trusted Registry: một công cụ trả phí, nó khác với Docker Registry là có giao diện quản lý và cung cấp một số tính năng bảo mật (nghe bảo thế)

Và ngoài ra chúng ta còn có một dịch vụ

Docker Hub: đây là một dịch vụ khi mà bạn không muốn tự quản lý registry. Cung cấp public và private image repository. Mặc định Docker Client sẽ sử dụng Docker Hub nếu không có registry nào được cấu hình. Trên này có rất nhiều các image offcial của các phần mềm như nginx, mongodb, mysql, jenkins …

Xem Thêm:  Clearance sale là gì

3. Orchestration tools

Docker Machine: là một provisioning tool giúp dễ dàng tiếp cận từ “Zero to Docker”. Machine tạo Docker Engine trên laptop của bạn hoặc trên bất cứ dịch vụ cloud phổ biến nào như AWS, Azure, Google Cloud, Softlayer hoặc trên hệ thống data center như VMware, OpenStack. Docker Machine sẽ tạo các máy ảo và cài Docker Engine lên chúng và cuối cùng nó sẽ cấu hình Docker Client để giao tiếp với Docker Engine một cách bảo mật.

Đại khái nó sẽ giúp ta tạo container service vote, container redis, container worker, container db, container result nodejs. Với Docker Compose ta sẽ không cần tạo thủ công từng container như trước nữa.

4. Management tools

Phần này mình sẽ không nói nhiều, vì 3 công cụ ở đầy đều là công cụ trả phí, mình thì không có nhu cầu với các công cụ này nên nếu bạn tò mò thì có thể tìm hiểu với các keyword như ở dưới.

Docker Universal Control PlaneDocker DatacenterDocker Cloud

5. Tools for local environments

Về phía local ta có các công cụ như sau để hỗ trợ quá trình development.

Docker Toolbox: Bởi vì Docker Engine dùng một số feature của kernel Linux nên ta sẽ không thể chạy Docker Engine natively trên Windows hoặc BSD được. Ở các phiên bản trước đây thì ta sẽ cần một máy ảo cài một phiên bản Linux nào đó và sau đó cài Docker Engine lên máy ảo đó. Nghĩa là từ Docker Client -> VirtualBox (VM Linux) -> Docker Engine thay vì trực tiếp từ Docker Client -> Docker Engine như trên Linux. Nếu bạn dùng Mac OS X và Microsoft Windows thì nó sẽ giúp bạn cài Docker Client, Docker Compose, Docker Machine, Docker Kitematic (một GUI client), và sử dụng VirtualBox để deploy Docker Engine trên boot2docker (tinycore). Như hình dưới đây.

Xem thêm:

Xem phim âm mưu và tình yêu tập 183 (ngày 28/11) trực tiếp thvl1

Xem Thêm:  Index of /~vs3/hjlib/doc/edu/rice/hj/runtime/simt

Bảng bổ trợ tank mùa 7

*

Docker for Mac and Docker for Windows: Ở phiên bản gần đây thì Docker tung ra công cụ này ở bản beta, và hiện tại đã public beta. Tuy nhiên bạn phải nhớ rằng Docker Engine vẫn không thể chạy trên Windows hay BSD (cá nhân mình tin là sau này cũng vẫn thế thôi). Mà thực chất nó vẫn phải chạy trên một máy ảo Linux. Điểm khác biệt là bạn không nhất thiết phải dùng VirtualBox. Đối với Mac thì Docker Engine sẽ chạy trên xhyve Virtual Machine (VM), xhyve là một giải pháp ảo hóa lightweight trên OSX, và distribution chạy trên nền ảo hóa này là Alpine Linux, một distribution vô cùng nhỏ ngọn. Đối với Windows thì Docker Engine cũng sẽ trên một máy ảo Alpine Linux, trên công nghệ ảo hóa của Windows là Hyper-V, bạn nào làm system sẽ biết Hyper-V. Với Hyper-V thì sẽ có một số yêu cần về phiên bản Windows và phần cứng (phần này các bạn tự tìm hiểu, mình không có hứng thú với M$)

6. Tổng kết

Docker cho phép chúng ta build, ship, và run bất kỳ ứng dụng nào ở bất kỳ đâu.

Build: Docker Engine (docker buid -t) và Docker Compose (docker-compose build, dành cho multi-container)Ship: Docker Registry, Docker Trusted Registry, Docker Hub (SaaS)Run: Docker Engine (docker run) , Docker Swarm (cụm Docker Engines), Docker Compose (docker-compose up)Manage: Docker Universal Control Plane và Docker Cloud (CaaS)Provisioning of Docker Engines: Docker Machine (trên hầu hết các public cloud phổ biến và hạ tầng của chính bạn) hoặc Docker Toolbox, Docker cho Mac, Docker for Windows (cho laptop của bạn)

Ok, hi vọng nó hữu ích với những ai đang bắt đầu với Docker và hiểu hơn về hệ sinh thái Docker

Chúc các bạn thành công trong cuộc sống! chia sẻ

Thông báo chính thức: Vonggosua.com.vn thuộc Mapleshoes.vn (Mapleshoes) là trang duy nhất chia sẻ bài viết hay Facebook.

Xin cám ơn!

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *