Zurück zur Skill-Übersicht

Skill-Wissen und Projektmarkt

Vagrant

Freelancer, Projekte, Experten und Wissen rund um Vagrant.

Kategorie

Systembetrieb

Vagrant Freelancer und Projekte finden

Auf jobtic.com vernetzen sich IT-Freelancer direkt mit Recruitern, Fachbereichsleitern und Projektanbietern. Egal ob du Expertise im Bereich Vagrant suchst oder anbietest, unser intelligenter Algorithmus bringt dich direkt mit den passenden Spezialisten und Projekten zusammen.

Aktuelle Freelancer-Konditionen

Stundensätze 70 - 87 EUR Ø 81 EUR
Tagessätze 560 - 640 EUR Ø 600 EUR

Jetzt Top-Freelancer mit fundierter Vagrant-Erfahrung finden

Mehr anzeigen

Auf jobtic.com präsentieren Freelancer Ihr Vagrant-Profil mit CV, Skills, Stundensatz, Projekthistorie und Remote-Präferenzen übersichtlich für Recruiter und Projektanbieter. Auftraggeber finden über die gezielte Freelancer-Suche schnell passende Experten, sowohl für Vagrant-Projekte als auch für andere IT-Bereiche und Skills.

Alles Wissenswerte zum Thema Vagrant

Wikipedia

Vagrant (Software)

Artikel öffnen

Vagrant ist eine Ruby-Anwendung zum Erstellen und Verwalten virtueller Maschinen.[2] Vagrant ermöglicht einfache Softwareverteilung (englisch Deployment) insbesondere in der Software- und Webentwicklung und dient als Wrapper zwischen Virtualisierungssoftware wie VirtualBox, KVM/QEMU, VMware und Hyper-V und Software-Configuration-Management-Anwendungen beziehungsweise Systemkonfigurationswerkzeugen wie Chef, Saltstack und Puppet.

Funktionsweise und Konzepte

Vagrant wird über eine Shell gesteuert. Nachfolgend findet sich eine Auflistung der wichtigsten Befehle und Konzepte von Vagrant.

Projektinitialisierung

Um einen Ordner zu initialisieren, muss man den Ordner anwählen und den Befehl vagrant init ausführen, daraufhin wird ein sogenanntes „Vagrantfile“ mit Beispielen und Erklärungen erzeugt und in dem Ordner platziert.[3] Durch den Zusatz vagrant init --minimal wird eine minimale Version des Vagrantfiles ohne Beispiele und Erklärungen erzeugt.[4]

Der Befehl vagrant init nimmt zwei Parameter an vagrant init [box-name] [box-url]: durch die Angabe eines „box-name“ kann das Vagrantfile direkt mit einer entsprechenden Vorlage („Box“) generiert werden und durch die Angabe „box-url“ wird die URL (Internetadresse) angegeben, an der sich diese Box befindet und heruntergeladen werden kann.[4] Diese Angaben lassen sich auch im Vagrantfile konfigurieren.

Diese Datei kann nun mit einem beliebigen Texteditor konfiguriert werden.

Boxen

Boxen sind bei Vagrant vorkonfigurierte (Vorlagen) Virtuelle Maschinen. Dies soll den Prozess der Softwareverteilung und der Entwicklung beschleunigen. Jede Box, die von dem Nutzer benutzt wurde, wird auf dem Computer gespeichert und muss so nicht wieder aus dem Internet geladen werden.[5] Boxen können explizit durch den Befehl vagrant box add [box-name] oder vagrant box add [box-url] heruntergeladen und durch vagrant box remove [box-name] entfernt werden. Ein „box-name“ ist dabei durch Konvention wie folgt aufgebaut: „Entwickler/Box“, zum Beispiel „hashicorp/precise32“.[6] Vagrant Cloud dient dabei als Austauschplattform für die Suche nach Boxen und das Einstellen von eigenen Boxen. Wird nur ein box-name angegeben, wird davon ausgegangen, dass die Box lokal vorhanden ist. Ansonsten wird in der Vagrant Cloud nach der Box gesucht.

Konfiguration

Die gesamte Konfiguration erfolgt im Vagrantfile, das ein spezielles Ruby-Programm enthält.[7]

Ein Beispiel:[5]

Vagrant.configure("2") do |config|
 config.vm.box = "hashicorp/precise32"
end

Dies sagt Vagrant, es soll die Konfigurationsversion 2 benutzt werden. Dies ist für die Rückwärtskompatibilität nötig.[8] Daraufhin wird mit der „config“-Funktion festgelegt, dass Vagrant die Box „hashicorp/precise32“ benutzen soll.

Provisioning

Beim Provisioning ruft Vagrant andere Programme auf, zumeist SCM-Software wie Ansible oder die Shell. Dies automatisiert die Konfiguration.[9][10]

In Vagrant stehen folgende Provisioner zur Verfügung: File, Shell, Ansible, CFEngine, Chef Solo, Chef Client, Docker, Puppet Apply, Puppet Agent und Salt.

Beispiel:

Vagrant.configure("2") do |config|
 config.vm.box = "hashicorp/precise32"
 config.vm.provision "shell", path: "script.sh"
end

Dies führt das Shellskript „script.sh“ aus.

Es können verschiedenste Provisioner in einer Datei ausgeführt werden. Beispiel für mehrere parallele Provisioner:

Vagrant.configure("2") do |config|
 config.vm.box = "hashicorp/precise32"
 config.vm.provision "shell", path: "script.sh"
 config.vm.provision "file", source: "~/.gitconfig", destination: ".gitconfig"
 config.vm.provision "ansible" do |ansible|
  ansible.playbook = "playbook.yml"
 end
end

Dies führt den Shellprovisioner aus, der die Datei script.sh ausführt. Anschließend wird die Datei unter der Adresse „~/.gitconfig“ nach „.gitconfig“ in die virtuelle Maschine verschoben. Als letztes wird der Ansible-Provisioner ausgeführt, der die „playbook.yml“ ausführt.

Softwareverteilung

Ab Version 1.7 vom Dezember 2014 ist Softwareverteilung mithilfe des Befehls vagrant push durch Heroku, SFTP und FTP, durch selbstgeschriebene Kommandozeilenskripte sowie durch das hauseigene „Atlas“ möglich.[11][12]

Beispiel für einen FTP-push

config.push.define "ftp" do |push|
 push.host = "ftp.test.com"
 push.username = "benutzer1"
 push.password = "Passwort1"
 push.secure = false
 push.destination = "/"
 push.dir = "/"
end

Dieser Abschnitt führt einen Softwareverteilungsvorgang mithilfe des FTP-Protokolls auf den Server mit der Adresse „ftp.test.com“ mit dem Benutzer „benutzer1“ und dem Passwort „Passwort1“ aus. push.secure sagt aus ob das SFTP-Protokoll benutzt werden soll, standardmäßig auf false gesetzt. push.destination enthält den Zielpfad (auf dem Server), an den die Dateien geschickt werden sollen, dahingegen enthält push.dir den lokalen Pfad zu den Dateien die hochgeladen werden sollen. Alle Pfade sind relativ zum Vagrantfile. Darüber hinaus können Dateien und Ordner mithilfe von exclude ausgeschlossen oder mit include eingeschlossen werden.

Sitzung beginnen

Um die virtuelle Maschine zu starten, führt man den Befehl vagrant up aus. Anschließend kann, falls nötig, mit vagrant ssh eine SSH-Sitzung gestartet werden.[13]

Sitzung beenden

Die virtuelle Maschine kann auf verschiedene Art und Weise beendet werden. Die Maschine kann mit dem Befehl vagrant destroy mit allen Abhängigkeiten komplett „zerstört“ werden, daneben kann die virtuelle Maschine mit vagrant halt angehalten und mit vagrant suspend in einen Ruhezustand gebracht werden. Ansonsten kann die Maschine auch mit vagrant reload neugestartet werden.[14]

Sonstiges

Mit Vagrant können viele virtuelle Maschinen gleichzeitig betrieben werden, deren Status mit dem Befehl vagrant global-status abgefragt werden kann.[15]

Versionen

Ab Version 1.1 werden auch andere Virtualisierungsanwendungen wie der VMware Player und Serverumgebungen wie Amazon EC2 unterstützt.[16][17]

Mit Version 1.5 wurden Ordnersynchronisierung mit Rsync und SMB sowie eine Unterstützung von Hyper-V zur Visualisierung hinzugefügt.[18]

Mit Version 1.6 wird Docker auch zur Laufzeit nativ unterstützt, was Overhead reduzieren soll, da Docker mit LXC arbeitet.[19]

Mit der am 9. Dezember 2014 veröffentlichten Version 1.7 wird einfache Softwareverteilung mithilfe des Befehls vagrant push durch Heroku, SFTP und FTP, durch selbstgeschriebene Kommandozeilenskripte sowie durch das hauseigene „Atlas“ ermöglicht.[12]

Am 21. Dezember 2015 wurde Version 1.8 veröffentlicht. Diese Version benutzt nun nach Möglichkeit "verlinkte Abbildungen" (englisch linked images), wodurch keine Systemabbildungen mehr dupliziert werden müssen, sondern als Referenz angegeben werden können. Außerdem können nun Schnappschüsse (englisch snapshots) von Systemen erstellt werden.[20]

Ergänzendes

Um die weitere Entwicklung des Projekts zu begleiten, gründeten Mitchell Hashimoto und Armon Dadgar 2012 Hashicorp, Inc.[21]

Es gibt ein Plugin namens vagrant-libvirt, welches Unterstützung für Libvirt in Vagrant ermöglicht.[22]

Zeitgleich mit Version 1.5 wurde auch Vagrant Cloud vorgestellt. Diese Cloud macht es möglich, im Team zeitgleich an einer Virtuellen Maschine zu arbeiten und diese über HTTPS in einem Browser darzustellen und bietet vordefinierte Pakete (sogenannte Boxes) an.[18][23]

Weblinks

Belege

  1. Release 2.4.9. 21. August 2025 (abgerufen am 15. September 2025).
  2. Introducing Vagrant. In: Linux Journal. 14. November 2012, abgerufen am 26. Oktober 2014 (englisch, Einführung in Vagrant).
  3. Getting Started. Project Setup. In: docs.vagrantup.com. Hashicorp, abgerufen am 9. November 2014 (englisch, Offizielle Dokumentation zur Initialisierung in Vagrant).
  4. a b Command-Line-Interface. vagrant init. In: docs.vagrantup.com. Hashicorp, abgerufen am 9. November 2014 (englisch, Offizielle Dokumentation zum Befehl vagrant init in Vagrant).
  5. a b Boxes. In: docs.vagrantup.com. Hashicorp, abgerufen am 9. November 2014 (englisch, Offizielle Dokumentation zu Boxen in Vagrant).
  6. Command-Line-Interface. box. In: docs.vagrantup.com. Hashicorp, abgerufen am 9. November 2014 (englisch, Offizielle Dokumentation zum Befehl box in Vagrant).
  7. Vagrantfile. In: docs.vagrantup.com. Hashicorp, abgerufen am 9. November 2014 (englisch, Offizielle Dokumentation zu Vagrantfiles in Vagrant).
  8. Vagrantfile. Configuration Version. In: docs.vagrantup.com. Hashicorp, abgerufen am 9. November 2014 (englisch, Offizielle Dokumentation zur Konfigurationsversion in Vagrant).
  9. Provisioning. Configuration Version. In: docs.vagrantup.com. Hashicorp, abgerufen am 9. November 2014 (englisch, Offizielle Dokumentation zum Provisioning in Vagrant).
  10. Provisioning. Basic Usage. In: docs.vagrantup.com. Hashicorp, abgerufen am 9. November 2014 (englisch, Offizielle Dokumentation zur grundlegende Bedienung des Provisionings in Vagrant).
  11. Provisioning. Configuration Version. In: docs.vagrantup.com. Hashicorp, abgerufen am 9. November 2014 (englisch, Offizielle Dokumentation zum Provisioning in Vagrant).
  12. a b Mitchell Hashimoto: Vagrant Push. One Command to Deploy Any Application. In: Vagrant. 12. Dezember 2014, abgerufen am 13. Dezember 2014 (englisch).
  13. Getting Started. Up And SSH. In: docs.vagrantup.com. Hashicorp, abgerufen am 9. November 2014 (englisch, Offizielle Dokumentation zum Starten einer Virtuellen Maschine in Vagrant).
  14. Command-Line-Interface. Teardown. In: docs.vagrantup.com. Hashicorp, abgerufen am 9. November 2014 (englisch, Offizielle Dokumentation zum Beenden von Vagrant).
  15. Command-Line-Interface. Global Status. In: docs.vagrantup.com. Hashicorp, abgerufen am 9. November 2014 (englisch, Offizielle Dokumentation zum Anzeigen des globalen Status von Vagrant).
  16. Mitchell Hashimoto: Vagrant. Up and Running. O’Reilly Verlag, 2013, ISBN 978-1-4493-3583-0, S. 13 (amerikanisches Englisch, freier Auszug [PDF; abgerufen am 2. Oktober 2014]).
  17. Peter Cooper: Vagrant: EC2-Like Virtual Machine Building and Provisioning from Ruby. In: rubyinside.com. 8. März 2014, abgerufen am 23. Oktober 2014 (englisch).
  18. a b Mitchell Hashimoto: Vagrant 1.5 and Vagrant Cloud. In: Vagrant. 10. März 2014, abgerufen am 26. Oktober 2014 (englisch).
  19. Mitchell Hashimoto: Feature Preview: Docker-Based Development Environments. In: Vagrant. 28. April 2014, abgerufen am 26. Oktober 2014 (englisch).
  20. Mitchell Hashimoto: Vagrant 1.8. In: HashiCorp. 21. Dezember 2015, abgerufen am 26. Dezember 2015 (englisch).
  21. About Us. „HashiCorp’s Vision“ und „Our Timeline“. In: hashicorp.com. Abgerufen am 9. November 2014 (englisch).
  22. Vagrant Libvirt Provider. In: GitHub. Abgerufen am 26. Oktober 2014 (englisch).
  23. Website von Vagrant Cloud. In: Vagrant. Abgerufen am 26. Oktober 2014 (englisch).
Wikipedia

Dieser Text basiert auf dem Artikel Vagrant (Software) aus der freien Enzyklopädie Wikipedia und steht unter der Lizenz Creative Commons CC-BY-SA 3.0 Unported. Eine Liste der Autoren ist in der Wikipedia verfügbar.

Systembetrieb

Projekte veröffentlichen

Als Projektanbieter kannst du deine Projekte im Bereich Vagrant auf jobtic detailliert präsentieren, von den benötigten Skills über Remote-Optionen bis hin zum Stundensatz. Du entscheidest was du darstellen möchtest und wie. Unser Such-Algorithmus findet dabei noch während deiner Eingabe sofort passende Spezialisten für deine Anforderungen. Ganz gleich ob du Spezialisten aus dem Bereich Vagrant suchst, oder aus anderen IT-Bereichen.

Experten finden

jobtic.com verbindet IT-Freelancer und Projektanbieter im DACH-Raum. Unser Suchalgorithmus, der auf jahrzehntlanger Erfahrung im Contracting beruht, findet die besten Spezialisten im Bereich für dein Projekt.

Chancen entdecken

Präsentiere deine Erfahrung auf jobtic und erhalte direkten Zugriff auf aktuelle IT-Projekte. Dank moderner Filter findest du schnell die passenden Auftraggeber, Recruiter und neuen Aufträge für dein Business.

Passende Projekte zu Vagrant

Mehr Projekte
Im Moment ist kein Vagrant-Projekt offen. Du suchst ein Projekt in diesem Bereich? Versuch es mit anderen Stichwörtern und schau regelmäßig vorbei, hier tut sich ständig etwas! Du hast selbst ein Projekt aus dem Bereich Vagrant? Stell es jetzt ein und sichere dir die volle Aufmerksamkeit!