Vagrant, geliştirme ortamlarını kod olarak tanımlamanıza ve tek komutla hazır hale getirmenize olanak tanıyan açık kaynaklı bir araçtır. Vagrantfile adlı yapılandırma dosyasıyla ekip içinde herkesin aynı geliştirme ortamını kullanması sağlanır. Windows, macOS ve Linux üzerinde çalışır. MIT lisansıyla ücretsizdir.
Temel Özellikler
- Vagrantfile ile ortam yapılandırması kod olarak sürüm kontrolünde saklanır
- VirtualBox, VMware, Hyper-V ve Docker provider desteği sunar
- Vagrant Cloud üzerinden hazır box’lar anında kullanılabilir
- Ansible, Chef, Puppet ve Shell provisioner desteği mevcuttur
- Paylaşımlı klasörler ve port yönlendirme özelliği içerir
- Ekip içinde tutarlı ve tekrarlanabilir geliştirme ortamı sağlar
- vagrant up komutuyla ortam dakikalar içinde hazır hale gelir
- vagrant destroy ile ortam temiz biçimde kaldırılabilir
Vagrant ile Docker arasındaki fark nedir?
Vagrant tam bir sanal makine (VM) yönetim aracıdır ve genellikle işletim sistemi düzeyinde izolasyon sağlar. Docker ise konteyner tabanlı çalışır; daha hafif olmakla birlikte konak işletim sistemi çekirdeğini paylaşır. Vagrant, özellikle Linux dışı sistemlerde tam izolasyon ve belirli işletim sistemi sürümü gerektiren ortamlar için uygundur. Docker ise uygulama paketleme ve dağıtım için çok daha yaygın kullanılır.
Vagrant ile yeni geliştirme ortamı nasıl oluşturulur?
Boş bir klasörde terminal açın ve “vagrant init ubuntu/focal64” komutuyla Ubuntu 20.04 tabanlı bir Vagrantfile oluşturun. Ardından “vagrant up” komutuyla sanal makine indirilir ve başlatılır. “vagrant ssh” komutuyla makineye bağlanabilirsiniz. Vagrantfile içinde port yönlendirme, paylaşımlı klasör ve provisioner eklenerek ortam özelleştirilir.
Vagrant alternatifleri
Geliştirme ortamı ve sanallaştırma araçları: WSL2, QEMU, LazyDocker.
- Tek komutla tekrarlanabilir geliştirme ortamı oluşturur
- VirtualBox başta birçok provider ile çalışır
- Vagrantfile ile ortam yapılandırması versiyon kontrolüne eklenebilir
- Büyük ve aktif topluluk, geniş box ekosistemi
- CI/CD entegrasyonu için idealdir
- VirtualBox gibi bir hypervisor kurulması zorunlu
- Box indirme süreleri yavaş olabilir
- GUI araçlarına alışkınlar için öğrenme eğrisi var
HashiCorp Vagrant Tutorial
Vagrant Crash Course
İşletim Sistemi: Windows 10/11, macOS 10.15+, Linux
RAM: En az 4 GB (sanal makine için ekstra RAM gerekir)
Disk: 200 MB kurulum + box boyutu (genellikle 1-5 GB)
Diğer: VirtualBox, VMware veya Hyper-V gerekli
