Contents

Docker

Use cases

  • It works on my machine: đôi lúc dev, acpt, prod environment khác nhau nên application sẽ chạy không đúng. Ví dụ như khác platform, version, DB,…

Why do we need container?

Thời kì đầu thì deploy nhiều applications trên cùng một physical machine. Có một hạn chế là dùng chung tài nguyên với nhau nên dễ gặp lỗi. Để giải quyết vấn đề này thì phải chạy mỗi app mỗi server.
Và IT department khó biết performance requirements nên thường mua máy xịn hơn nhu cầu gấp nhiều lần. Dẫn đến việc gây tốn kém tiền bạc.

Sau đó VMware đã phát triển virtual machine (VM). Virtualization ra đời để khắc phục nhược điểm trên.
Tuy nhiên VM có nhược điểm là yêu cầu hệ điều hành (OS) riêng. Mỗi OS lại tiêu thụ CPU, RAM và tài nguyên khác. Ngoài ra còn cần patching và monitoring, vài trường hợp còn cần thêm license. Kết quả là gây tốn kém thời gian và tài nguyên.
Một số thử thách khác là khởi động chậm, không linh động - việc tích hợp và di chuyển VM workload giữa hypervisors và cloud platforms khó khăn.

Container model cũng tương tự VM. Nhưng có một vài điểm khác biệt như là không yêu cầu full-blown OS. Tất cả container trên một host thì chia sẻ chung OS của host. Điều này làm giảm đáng kể system tài nguyên như CPU, RAM và storage. Giảm OS patching và maintenance khác. Kết quả là giảm rất nhiều thời gian, tài nguyên.
Ngoài ra container khởi động cũng nhanh và rất linh động. Có thể chuyển workload từ máy tính sang cloud dễ dàng và nhanh chóng.

Docker - The TLDR

là một phần mềm mà chạy trên Linux và Windows. Nó tạo, quản lí, và có thể điều chỉnh containers.

See Also

See Also

References

🔗 Backlinks