Khác nhau giữa Vagrant và Docker

Theo mình hiểu thì cả Vagrant và Docker đều là các công nghệ tạo máy ảo để giả tạo môi trường với ưu điểm so với các hệ thống virtual machine cũ như VMware ở chỗ chúng cho phép đặt cấu hình cho máy ảo ở một file riêng biệt và do đó việc cấu hình có thể được thực dễ dàng bởi các dev khác (trên một host khác) qua việc sử dụng lại các tập tin này mà không cần phải cấu hình thủ công.

Ngoài tính năng trên ra thì hai công nghệ này còn có những điểm nào khác nhau nữa hay không? Mong mọi người cho ý kiến tư vấn giúp mình.

Được hỏi 5 tháng trước
Bình chọn bởi Hani Pham, Linh Nguyễn, Huyền Cano, Thành Công, Lê Anh, Nguyễn Văn Tuấn, Nguyen Lam, Ngô Thanh Hải, Nguyễn Văn Tuấn, Đình Anh, Đồng Tuyết, Khoi Tran, Trần Diễm, Hoàng Giang, Phạm Vũ, Giang River, Hoàng Tùng, Hanh Nguyen, Diệu Yến, Vân Trần, Kim Hani, Tuấn Anh, Quang Nguyen, Nguyen Thuy Trang, Bao Ngoc, Trung Quân

Virtual Machine: Virtual machine hay còn gọi là phần mềm tạo máy ảo. Phần mềm này cho phép tạo lập và chạy một hệ điều hành (hay máy ảo) trên máy chủ (host machine). Ví dụ máy tính bạn chạy Windows nhưng cần dev app chạy trên Linux thì bạn có thể sử dụng VirtualBox để tạo một máy ảo Linux trên Windows. VirtualBox là phần mềm để tạo máy ảo phổ biến hiện nay.

Vagrant: Là một công nghệ dựa trên nền ảng của Virtual Machine tuy nhiên cung cấp thêm tính năng để cấu hình và thiết lập môi trường cho các máy ảo (hay các box). Ví dụ team của bạn có 15 người đang sử dụng máy Windows nhưng cần phát triển ứng dụng chạy trên server Linux. Server này cần cài đặt Apache web server, PHP, MySQL... Sử dụng Vagrant bạn có thể tạo một box có sẵn các phần mềm trên (và cấu hình cần thiết nếu có) để khi 15 team member muốn tạo môi trường giả lậ họ chỉ cần sử dụng box bạn đã cấu hình mà không cần tạo box và cài lại từng phần mềm một (tưởng tương team có 100 nhân viên thì việc này sẽ giảm thiểu được nhiều thời gian đáng kể).

Docker: Đây là công nghệ đang được đánh giá là tương lai của công nghệ ảo hoá (future of virtualization). Khác biệt lớn của Docker và Vagrant (hay Virtual Machine nói chung) đó là tiết kiệm đáng kể resource sử dụng. Với docker bạn có thể chạy 20 container (tương tự như một hệ điều hành nhỏ) trên cùng một máy host (host machine) điều mà nếu sử dụng Vagrant sẽ cần một máy chủ với cấu hình cực khủng. Docker làm được điều này là bởi vì khác với Virtual Machine ở chỗ thay vì tách biệt giữa hai môi trường guest và host, thì các container của Docker chia sẻ các resource với host machine.

Trả lời 3 ngày trước

thằng docker nó có nhiều container mỗi container được tạo khi bạn chạy file image của nó. Mỗi container coi như một máy ảo bạn có thể cài đặt các phần mềm lên từng container. Từ container này bạn có thể tạo riêng một file image cho docker

Trả lời 4 tháng trước
Bình chọn bởi: Tran Khanh

Viết Trả Lời: