Trong thời gian gần đây Docker là từ khóa được nhắc đến khá là nhiều ở trên Twitter hay các blog lập trình. Vậy nó là cái gì mà được nhắc đến nhiều đến thế?
1, Docker là gì?
Docker là một công cụ cho phép chúng ta các môi trường đóng gói trên máy tính mà không làm ảnh hưởng đến môi trường hiện tại của máy.
Nghe có vẻ tầm thường? Đừng vội kết luận điều đó. Vì cách mà docker tạo ra các môi trường trên máy tính nó hoàn toàn khác so mới cách mà các máy ảo truyền thống đang làm.
- Ở các máy ảo truyền thống, khi tạo ra một môi trường ảo thì cũng đồng nghĩa với việc bạn sẽ phải kéo toàn bộ các tài nguyên của môi trường đó như OS, application. service,... Và điều tệ nhất là nó không có thể dùng chung lẫn nhau được, VD 2 máy ảo windows thì sẽ phải instance 2 hệ điều hành windows.
- Nhưng đối với docker mọi vấn đề trên đều sẽ được giải quyết. Bởi docker có cơ chế share các kernel OS khi nó đã tồn tại và đặc biệt mỗi kernel OS này sẽ hoạt động độc lập mà không ảnh hưởng đến nhau.
Khi sử dụng docker thì các bạn cần chú ý cho mình hai khái niệm chính sau:
- Image: Là các template chứa các lệnh, bước để tạo ra một container trên docker. image này các bạn có thể tự tạo và đưa lên cộng đồng để dùng chung.
- Container: Container là các instane của image.
2, Ưu điểm.
Về vấn đề này thì các bạn chắc hẳn cũng đã rút ra được khi đọc xong phần so sánh Docker với virtual machine ở trên thì chắc các bạn cũng đã chốt ra được một vài ưu điểm của Docker rồi đúng không?
- Tốn ít tài nguyên: do các kernel OS có thể share lẫn nhau, nên bớt đi được khá nhiều tài nguyên không cần thiết.
- Nhanh: cùng lý do với ưu điểm tốn ít tài nguyên.
- Linh động, đồng nhất: Hãy tưởng tượng dự án có nhiều members và mỗi member dùng 1 OS khác nhau (Windows, mac, ubuntu,...) lúc này để cho môi trường được đồng nhất và nhất quán thì docker quả thật là một lựa trọn hoàn hảo.
- An toàn: cái này là docker nói (link),
3, Nhược điểm.
Hiện tại, theo như mình thấy nhược điểm duy nhất của docker là không thể chạy trực tiếp trên Windows và MAC OS. Chính vì thế, khi các bạn sử dụng Docker trên Windows hay MAC OS thì Docker sẽ phải run một máy ảo linux rồi mới có thể thực thi được.
Đăng ký nhận tin.
Chúng tôi chỉ gửi tối đa 2 lần trên 1 tháng. Tuyên bố không spam mail!
0 Comments