Tổng Hợp

docker là gì? Tại sao sử dụng Docker trong các dự án phần mềm?

Bạn có biết Docker là gì không? Bạn có biết tại sao bạn nên sử dụng Docker không? Hãy cùng trải nghiệm qua bài viết này.

Khi bắt đầu một dự án mới, bạn thường làm gì đầu tiên? Tất nhiên, bạn phải cài đặt một loạt các thứ như PHP, MySQL, Redis, Elasticsearch… cộng với nhiều phiên bản, hàng tá thư viện, v.v. Boom, Docker tự nhiên có thể giúp bạn tiết kiệm rất nhiều thời gian.

Tham Khảo Thêm: Đầu số 087 là mạng gì? Những điều bạn cần biết về Itelecom Digital 087

1. Docker là gì?

Docker là một nền tảng dành cho các nhà phát triển và quản trị viên hệ thống để phát triển, triển khai và chạy các ứng dụng bằng cách sử dụng vùng chứa. Nó cho phép tạo ra các môi trường riêng biệt và biệt lập để khởi chạy và phát triển ứng dụng, được gọi là vùng chứa. Khi bạn cần triển khai đến bất kỳ máy chủ nào, chỉ cần chạy vùng chứa Docker và ứng dụng của bạn sẽ khởi động ngay lập tức.

2. trong hệ điều hành docker là gì

  • Một chút phổ biến về mô hình máy chủ thông thường
  • Mục nhập này đã được đăng trong [free tuts.net]

Như trong hình, chúng ta có thể thấy một mô hình máy chủ điển hình, bao gồm máy chủ vật lý + hệ điều hành + ứng dụng.

Chúng ta có thể nhận ra ngay nhược điểm của hệ thống cũ này, đó là sự lãng phí tài nguyên:

• Chỉ có thể cài đặt một hệ điều hành trên một máy chủ

• Ngay cả khi bạn có một ổ cứng bị hỏng và RAM bị hỏng, bạn vẫn chưa tận dụng được hết.

Để khắc phục một số vấn đề của hệ thống cũ, công nghệ ảo hóa ra đời. Chắc hẳn bạn đã từng nghe đến cái tên Virtualbox hoặc VMware, và đúng vậy. Với công nghệ này, chúng ta có thể cài đặt nhiều hệ điều hành trên một máy chủ vật lý và sử dụng tài nguyên tốt hơn.

hình minh họa

docker-la-gi-a-thanglong3

  • Nhưng còn hai vấn đề nữa
  • Về tài nguyên:

• Ví dụ, khi bạn mở một máy ảo trên VirtualBox, trước tiên bạn cần cấu hình nó để cung cấp tài nguyên ổ cứng và bộ nhớ từ máy thật sang máy ảo.

• Bật máy ảo và không để nó làm gì cả, máy thật không thể sử dụng lại một tài nguyên đã cho.

• Ví dụ khi tạo máy ảo có bộ nhớ 2GB trên máy thật có bộ nhớ 6GB, kể cả khi máy ảo không sử dụng hết thì máy thật có tối đa 6 – 2 = 4 GB bộ nhớ đều được cấp phát 2GB là bộ nhớ, đó là một vấn đề. rác thải.

Về thời gian: Máy ảo mất nhiều thời gian để khởi động và tắt, có thể lên đến vài phút.

Trong bước tiến hóa tiếp theo, công nghệ container hóa ra đời. Với công nghệ này, trên một máy chủ vật lý, chúng ta có thể cài đặt nhiều máy ảo (tương tự như công nghệ ảo hóa), nhưng tốt nhất là các máy khách này (Hệ điều hành Guess) đều dùng chung lõi của máy chủ.) và chia sẻ tài nguyên với nhau.

hình minh họa.

docker-la-gi-a-thanglong2

Và có một công ty rất lớn đã áp dụng và thành công, đó là GOOGLE. Và Google sử dụng nó rất nhiều, tôi đã từng nghe một kỹ sư ở đó nói:

docker-la-gi-a-thanglong

Và trong khi các công ty lớn như Google đã từng sử dụng nó, tại sao chúng ta không nên tìm hiểu để kiểm tra xem nó là ma thuật gì.

Tóm lại: Từ việc phải cài đặt các công cụ và môi trường cần thiết cho một ứng dụng để chạy nó, thiết lập và triển khai một ứng dụng đến một hoặc nhiều máy chủ là rất khó, chưa kể đến sự không đồng nhất giữa các môi trường trên nhiều máy chủ khác nhau. Đó là lý do tại sao Docker ra đời để giải quyết vấn đề này.

3. Lợi ích của docker là gì?

Không giống như máy ảo, Docker bắt đầu và dừng trong vài giây.

Bạn có thể khởi động vùng chứa trên mọi hệ thống bạn muốn.

Các vùng chứa có thể được xây dựng và loại bỏ nhanh hơn so với các máy ảo.

Dễ dàng thiết lập môi trường làm việc. Chỉ cần cấu hình nó một lần, không cần cài đặt lại các phần phụ thuộc. Nếu bạn đổi máy hoặc người mới tham gia dự án, bạn chỉ cần lấy cấu hình đó và đưa cho họ.

Nó làm cho không gian văn bản của bạn sạch hơn khi bạn loại bỏ các môi trường ảnh hưởng đến các phần khác.

4. Một số khái niệm khác trả lời Docker là gì

Dưới đây là hình ảnh của mô hình làm việc của docker.

docker-la-gi-a-thanglong1

  • Docker client: là cách bạn tương tác với docker thông qua các lệnh trong terminal. Docker Client sẽ sử dụng API để gửi lệnh đến Docker Daemon.
  • Docker daemon: là máy chủ Docker cho các yêu cầu từ API Docker. Nó quản lý hình ảnh, vùng chứa, mạng và khối lượng.
  • Docker Volumes: Cách tốt nhất để lưu trữ dữ liệu liên tục để sử dụng và tạo ứng dụng.
  • Docker Registry: là một kho lưu trữ riêng cho các hình ảnh Docker. Hình ảnh được đẩy vào sổ đăng ký và máy khách kéo hình ảnh từ sổ đăng ký. Bạn có thể sử dụng sổ đăng ký của riêng mình hoặc sổ đăng ký của nhà cung cấp như AWS, Google Cloud, Microsoft Azure.
  • Docker Hub: là cơ quan đăng ký hình ảnh Docker lớn nhất (mặc định). Bạn có thể tự tìm và lưu trữ hình ảnh trên Docker Hub (miễn phí).
  • Docker repository: là tập hợp các Docker image có cùng tên nhưng khác thẻ. Ví dụ: golang: 1.11-alpine.
  • Docker Networking: Cho phép các vùng chứa được kết nối với nhau. Kết nối này có thể trên 1 máy chủ hoặc trên nhiều máy chủ.
  • Docker Compose: là một công cụ giúp chạy các ứng dụng dễ dàng hơn bằng cách sử dụng nhiều Docker container. Docker Compose cho phép bạn định cấu hình các lệnh trong tệp docker-compose.yml để sử dụng lại. Có sẵn để cài đặt Docker.
  • Docker Swarm: Phối hợp triển khai vùng chứa.

• Dịch vụ Docker: là một container trong sản xuất. Một dịch vụ chỉ chạy một hình ảnh, nhưng nó mã hóa cách chạy hình ảnh – cổng nào sẽ sử dụng, bao nhiêu bản sao của vùng chứa để chạy để cung cấp cho dịch vụ hiệu suất tức thì mà nó cần.

Tìm Hiểu: Bạc Xỉu Là Gì? 4 Cách Để Pha Một Ly Bạc Xỉu Ngon Và Dễ Dàng

Qua bài viết này mình đã giới thiệu cho các bạn về docker là gì và cách cài đặt nó trên hệ điều hành Linux.

Cập nhật nhiều thông tin hữu ích hơn tại Thăng Long City Đại Mỗ!

Related Articles

Leave a Reply

Your email address will not be published. Required fields are marked *

Back to top button