«J'ai entendu parler d'environnements virtuels, mais je ne les ai jamais utilisés.
Pour que les personnes ci-dessus puissent avoir un aperçu rapide de Vagrant et de son utilisation.
J'ai traduit et résumé les deux articles du document officiel de Vagrant.
De plus, en rassemblant les deux documents ci-dessus, j'ai ajouté assez soigneusement __ explications supplémentaires afin que (même les débutants) puissent comprendre avec seulement cet article Qiita autant que possible. __
En particulier, __ "Concepts / Termes à connaître lors de la lecture de la documentation officielle" et "Installer VirtualBox et Vagrant" sont expliqués dans des chapitres séparés à des fins supplémentaires. __
(Si vous n'en avez pas besoin, ignorez-le)
Ici, dans le chapitre suivant, avant de créer réellement un environnement virtuel en utilisant VirtualBox et Vagrant, nous allons expliquer les termes qui vous aideront à comprendre en les divisant en __7 __ sujets comme suppléments.
Qu'est-ce que VirtualBox? Selon IT Glossary / e-Words, «Un des logiciels de virtualisation open source. Vous pouvez créer un ordinateur virtuel (machine virtuelle) comme l’une des applications qui s’exécutent sur le système d’exploitation (SE) et y exécuter un autre système d’exploitation. »
La fonctionnalité est que vous pouvez exécuter des machines virtuelles avec différents systèmes d'exploitation sur le système d'exploitation hôte (de base) tel que Mac, Windows et Linux. Chez Vagrant, ce type de logiciel de virtualisation (y compris VirtualBox) s'appelle un fournisseur.
Dans la figure ci-dessus créée par l'auteur, le logiciel de virtualisation se trouve sur le système d'exploitation hôte. C'est ce qu'on appelle la virtualisation de type OS hôte. (Il existe d'autres types d'hyperviseur, mais je les omettrai cette fois.)
Il n'y a aucun problème pour l'instant avec la compréhension qu'une machine virtuelle exécutée sur un autre système d'exploitation est placée au-dessus de __OS. __
__ Logiciel qui fournit un environnement virtuel __. Vagrant construit et exploite des machines virtuelles sur cet environnement virtuel. Cette fois, nous utiliserons la VirtualBox de base, mais vous pouvez également ajouter VMWare Fusion (Workstation), AWS (EC2), Rackspace, etc. avec un plug-in.
__ Installer et configurer des logiciels tels que "Serveur Web (Apache ou Nginx), langage de programmation (PHP, Python, Ruby ,,, etc), SGBD (Posgre ou MySQL ,,, etc)" sur la machine virtuelle. ,est.
Cette fois, nous utiliserons le script __shell __ selon la documentation officielle, mais vous pouvez également utiliser d'autres outils d'approvisionnement tels que Ansible, Chef et Puppet.
Il s'agit du fichier image qui sert de base au démarrage d'une machine virtuelle. Vous pouvez le considérer comme un modèle de machine virtuelle __.
Vagrant clooud est le site public du fichier Box officiellement préparé. Jusqu'à ce que je lis l'article Qiita de @ alfa "La bonne façon de démarrer Vagrant", j'ai aussi [vagrantbox.es](http: //www.vagrantbox. Je l'ai déposé à partir d'un site non officiel de fichiers Box appelé es /). C'était une bonne occasion de lire la documentation officielle de Vagrant. Merci beaucoup!
__ Un fichier qui décrit la construction d'une machine virtuelle (spécifications de la machine virtuelle à construire avec Vagrant, spécification des outils de provisioning, etc.) __.
Terminal C'est une commande qui facilite l'utilisation de Vagrant ci-dessus.
La virtualisation est possible uniquement avec VirtualBox, mais en utilisant Vagrant, vous pouvez facilement définir / partager les informations de paramétrage de l'environnement virtuel avec __ "Vagrantfile" et l'exécuter avec "Vagrant command" pour créer l'environnement. C'est __ cela peut être très facile.
Tout d'abord, accédez à la page officielle d'Oracle VirtualBox et accédez à
Cliquez sur Téléchargements sur la gauche pour télécharger celui qui convient à votre environnement!
Une fois le programme d'installation ouvert, si vous répondez à tous par l'affirmative, l'installation se terminera avec succès.
Allez sur la page officielle de Vagrant et cliquez sur le bouton Télécharger!
Sélectionnez celui qui convient à votre environnement et cliquez sur le bouton Télécharger! Le fichier dmg sera téléchargé, alors cliquez dessus!
Double-cliquez sur Vagrant.pkg pour lancer le programme d'installation. Vous pouvez faire une sélection en cliquant sur «Continuer».
Ceci termine l'installation de VirtualBox et Vagrant! Nous allons enfin procéder à la lecture du document officiel du prochain!
Vagrant est un outil de création et de gestion d'un environnement de machine virtuelle (avec une seule procédure métier). En se concentrant sur des flux de travail et une automatisation faciles à utiliser, Vagrant réduit le temps de configuration de l'environnement de développement et améliore la parité de production.
Why Vagrant
Vagrant fournit un environnement de travail portable (portable) qui est facile à configurer (n'importe qui dans l'équipe) et reproductible.
L'environnement est également construit sur la technologie standard de l'industrie et est géré par un flux de travail unique et cohérent qui aide à maximiser la productivité et la flexibilité de votre équipe.
Vagrant exerce son pouvoir en chevauchant sur les épaules de divers géants (debout sur une combinaison de technologies existantes).
Les machines virtuelles sont provisionnées sur VMware, AWS ou d'autres fournisseurs, ainsi que sur des environnements virtuels tels que VirtualBox. Les outils de provisioning standard tels que les scripts shell, Chef et Puppet peuvent être utilisés pour installer et configurer automatiquement des logiciels sur des machines virtuelles.
Vagrant sépare les dépendances et les ensembles de paramètres dans un environnement unique, cohérent et jetable. Dans ce cas, vous ne pourrez pas utiliser les outils que vous connaissez (tels que les éditeurs, les navigateurs et debacker).
Une fois que quelqu'un (vous y compris) a créé un Vagrantfile, tout ce que vous avez à faire est de taper «vagrant up» et tout ce dont vous avez besoin pour votre travail sera installé et configuré.
Les autres membres de l'équipe créent également l'environnement de développement à partir des mêmes paramètres, donc que vous travailliez sous Linux, Mac ou Windows, les membres de l'équipe reflètent les mêmes dépendances dans le même environnement, exactement les mêmes. Vous exécuterez le code défini sur.
Avec cela, vous pouvez dire adieu au "phénomène (bug) qui ne se produit que dans votre propre environnement"!
Vagrant fournit un environnement jetable et un flux de travail cohérent pour développer et tester des scripts de gestion d'infrastructure.
Vous pouvez rapidement tester des scripts shell, des livres de recettes Chef, des modules Puppet et tout ce que vous utilisez pour un environnement virtuel local comme VirtualBox ou VMware.
Et avec la même configuration, vous pouvez tester ces scripts dans un environnement cloud distant (tel qu'AWS ou RackSpace) basé sur le même flux.
Jetez vos scripts personnalisés pour recycler les instances (AWS) EC2, arrêtez de jongler avec les invites SSH vers différentes machines et utilisez plutôt Vagrant pour remettre votre vie sur les rails!
Vagrant définira automatiquement toutes les propositions nécessaires pour votre application Web, afin que vous puissiez vous concentrer uniquement sur votre travail de conception!
Une fois que le développeur a configuré Vagrant, il n'a jamais à se soucier de la manière de faire fonctionner l'application.
Il n'est plus nécessaire que d'autres développeurs vous aident à modifier votre environnement pour les tests de conception. Les concepteurs n'ont qu'à vérifier le code, «vagabonder» et commencer à concevoir!
Vagrant est le logiciel le plus simple et le plus rapide conçu pour créer un environnement virtuel! Dans le chapitre suivant, nous entrerons enfin dans le guide de démarrage rapide de Vagrant!
Le nom du fichier Box est créé par l'auteur. Si vous le déposez de Vagrant clooud, vous n'avez pas besoin de décrire l'url.
//Créez Vagrantfile en spécifiant le fichier Box
$ vagrant init hashicorp/bionic64
//Lancement de VM
$ vagrant up
//Vérification de l'état de la VM
$ vagrant status
//connexion ssh
vagarnt ssh
//Supprimer la VM
$ vagrant destroy
Tapez simplement la commande vagrant up
et elle préparera tout ce dont vous avez besoin pour votre projet (installation de logiciels dépendants, réseau, configuration de fichiers synchronisés, etc.) afin que vous puissiez travailler confortablement sur votre propre machine!
Lancez un terminal et saisissez l'une des trois commandes ci-dessous.
$ vagrant
$ vagrant -h
$ vagrant -v
※Mise en garde Certaines distributions de système d'exploitation incluent également le package vagrant dans le référentiel de packages en amont. Dans de tels cas, veuillez vous abstenir d'installer à l'aide du gestionnaire de paquets (de cette distribution). (Il peut y avoir des problèmes dus aux dépendances des packages.) Veuillez utiliser la page de téléchargement.
3. Initialize a Project Directory
(1) Spécifiez le répertoire racine de votre PJ. De nombreuses options de configuration de Vagrant sont relatives à ce répertoire racine. (2) Décrivez les types de machines et de ressources nécessaires pour votre PJ. Décrivez également les logiciels à installer et comment vous souhaitez y accéder de la même manière.
--Créer un répertoire
//vagrant_getting_Créer un répertoire de démarrage
$ mkdir vagrant_getting_started
//vagrant_getting_Déplacer vers le répertoire de démarrage
$ cd vagrant_getting_started
--Initialiser le répertoire
$ vagrant init hashicorp/bionic64
vagarant init (bien que ce soit une fonction intégrée) prend un nom de fichier de boîte et une URL comme arguments. Le Vagrantfile devrait maintenant être dans le même répertoire. Ce fichier est destiné à être soumis au contrôle de version, permettant aux nouveaux membres de l'équipe d'utiliser ce vagrantfile pour créer rapidement leur environnement.
Vous pouvez rapidement cloner une machine virtuelle en utilisant une image de base (fichier image) avec Vagrant. Ces images de base sont connues dans Vagrant sous le nom de fichiers Box. En outre, la spécification d'un fichier Box est l'une des tâches que vous effectuez toujours après la création d'un fichier Vagrant, et c'est également la première chose à faire.
J'expliquerai la commande pour installer le fichier Box car cela peut être utile lorsque vous souhaitez installer le fichier box sans créer le Vagrantfile (bien que ce travail soit fondamentalement inutile avec la commande à apprendre plus tard).
$ vagrant box add hashicorp/bionic64
$vagrant box ajouter un nom d'utilisateur/nom de la boîte
Box est stocké globalement pour les utilisateurs actuels. À partir de là, vous pouvez utiliser le fichier boîte comme image initiale dans chaque PJ. (Autrement dit, vous utilisez le même fichier Box dans deux projets et l'ajout d'un fichier dans l'un n'affecte pas l'autre.) La partie du fichier boîte peut être remplacée par une URL ou un chemin de fichier local.
Ouvrez le fichier Vagrant et spécifiez le nom du fichier Box dans config.vm.box. Même si la boîte n'est pas ajoutée à l'avance, Vagrat téléchargera et ajoutera automatiquement la boîte au démarrage. (C'est pourquoi vous n'avez fondamentalement pas besoin du travail d'ajout de Box présenté ci-dessus.)
Vous pouvez également spécifier explicitement la version avec config.vm.box_version ou config.vm.box_url. (Les deux ne sont pas obligatoires.)
Vagrant.configure("2") do |config|
config.vm.box = "hashicorp/bionic64"
config.vm.box_version = "1.0.282" #->optionnal:config.vm.box_version = "1.0.282"
#config.vm.box_url = "https://vagrantcloud.com/hashicorp/bionic64"
end
Trouvez-le sur Vagrant cloud!
Si vous tapez la commande suivante, une VM exécutée sur Ubuntu devrait démarrer dans environ 1 minute.
$ vagrant up
Tout d'abord, vérifiez l'état avec une commande.
$ vagrant status
Ensuite, vérifiez que la VM est active dans la GUI (Graphical User Interface). Réécrivez le Vagrantfile pour que VirtualBox soit lancé au démarrage.
//Décommentez deux pour activer le mode GUI
config.vm.provider "virtualbox" do |vb|
# # Display the VirtualBox GUI when booting the machine
vb.gui = true
#
# # Customize the amount of memory on the VM:
# vb.memory = "1024"
end
Cela devrait lancer automatiquement VirtualBox. Cependant, il est recommandé de l'exécuter avec une connexion SSH (comme vous le faites dans le document officiel) car il est plus facile de l'exécuter avec le terminal habituel!
Faisons une connexion SSH à la machine virtuelle lancée.
$ vagrant ssh
Si vous souhaitez vous déconnecter de la connexion ssh, tapez ʻexit ou
logout`, ou appuyez sur ctrl + d.
Après avoir établi une connexion SSH, assurez-vous d'abord que vous disposez du fichier Vagrantfile
[vagrant@localhost ~]$ pwd
/home/vagrant
[vagrant@localhost ~]$ cd ../../
[vagrant@localhost /]$ ls
bin dev home lib64 media opt root selinux swapfile tmp vagrant
boot etc lib lost+found mnt proc sbin srv sys usr var
[vagrant@localhost /]$ ls vagrant/
Vagrantfile
[vagrant@localhost /]$
※__avertissement! !! __
__ Ne faites pas rm -rf /
car c'est une machine virtuelle! !! __ Parce que Vagrant partage le répertoire dans / vagrant
avec le répertoire sur l'hôte qui contient votre Vagrantfile, qui sera également supprimé! Les détails des dossiers partagés seront expliqués dans la section suivante.
Interrompons la connexion ssh et supprimons toutes les ressources créées lors de la création de la machine.
$ vagrant destroy
default: Are you sure you want to destroy the 'default' VM? [y/N] y ->Entrez y!
==> default: Forcing shutdown of VM...
==> default: Destroying VM and associated drives...
//Vérifiez le statut du vagabond
$ vagrant status
Current machine states:
default not created (virtualbox)
The environment has not yet been created. Run `vagrant up` to
create the environment. If a machine is not created, only the
default provider will be shown. So if a provider is not listed,
then the machine is not created for that environment.
//Au fait, le fichier Box n'est pas parti
$ vagrant box list
hashicorp/bionic64 (virtualbox, 1.0.282)
$ vagrant box remove hashicorp/bionic64
Removing box 'hashicorp/bionic64' (v1.0.282) with provider 'virtualbox'...
Jusqu'à présent, vous avez appris à construire, exploiter et détruire l'environnement avec Vagrant. Dans la section suivante, vous apprendrez à synchroniser des fichiers entre votre PC local et votre machine virtuelle (invitée).
6. Synchronize Local and Guest Files
Je ne pense pas que beaucoup de gens souhaitent éditer un fichier avec un éditeur vim simple auquel ils sont connectés via SSH.
Vagrant synchronisera automatiquement vos fichiers entre votre PC invité de destination SSH local. Cela vous permet d'exécuter des fichiers modifiés localement dans un environnement de développement virtuel.
Par défaut, Vagrant partage le répertoire de votre projet (le répertoire dans lequel vous avez créé le fichier Vagrant avec vagrant init
dans 3. Initialisez un répertoire de projet) dans le répertoire / vagrant de votre machine invitée.
Vérifions comment le fichier est réellement partagé avec la machine invitée sur le PC local.
/ home / vagrant
, qui est le répertoire personnel lorsque vagrant ssh
est exécuté, est différent de la destination de partage de fichiers locale. (Partagé dans le répertoire / vagrant
directement sous la racine)Tout d'abord, établissez une connexion ssh et accédez au répertoire / vagrant.
$ vagrant ssh
$ cd ../../vagrant
$ pwd
->/vagrant
Créez un nouveau fichier hoge dans le répertoire / vagrant
$ touch hoge
J'ai pu confirmer que le fichier de projet local a également un répertoire hoge!
$ exit
logout
$ ls
Vagrantfile hoge
With synced folders, you can continue to use your own editor on your host machine and have the files sync into the guest machine. Avec des fichiers synchronisés
Ensuite, créons un fichier appelé fuga.html sur la machine locale et voyons si ce fichier est synchronisé avec la VM.
Tout d'abord, créez un fichier localement.
$ touch fuga.html
$ ls
Vagrantfile hoge fuga
Ensuite, modifiez le contenu de fuga avec votre éditeur préféré.
fuga.html
<p>Pouvez-vous le modifier correctement?</p>
J'ai pu confirmer qu'il existe fuga.html, qui est aussi la destination ssh!
$ vagrant ssh
$ cd ../../
$ ls vagrant/
Vagrantfile hoge fuga.html
//fuga.Vérifiez le contenu du HTML(Vous pouvez également vérifier avec la commande view.)
$ cat vagrant/fuga.html
<p>Pouvez-vous le modifier correctement?</p>
Dans la théorie suivante, apprenons à utiliser l'approvisionnement pour installer des packages, des utilisateurs, etc.
7. Provision a Virtual Machine
Dans cette section, utilisons l'approvisionnement pour transformer la VM en serveur Web.
Créez un répertoire html dans ~ / Desktop / vagrant_test.
$ mkdir html
Ensuite, créez un fichier index.html dans le répertoire html.
~/Desktop/vagrant_test/html/index.html
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Vagrant</title>
</head>
<body>
<h1>Vagrant j'ai essayé de commencer!</h1>
</body>
</html>
Dans ce tutoriel, nous utiliserons un script shell pour configurer Apaceh (en tant que serveur Web). Tout d'abord, enregistrez le script shell suivant sous le nom bootstrap.sh
.
bootstrap.sh
#!/usr/bin/env bash
apt-get update
apt-get install -y apache2
if ![ -L /var/www ]; then
rm -rf /var/www
ln -fs /vagrant /var/www
else
fi
Ce script téléchargera et lancera Apache.
Il crée également un lien symbolique entre le "répertoire des fichiers à synchroniser" et le "où le serveur Apaceh recherche le contenu qu'il fournit en réponse".
--__ #! Script suivant __
Le script après #! Sur la première ligne s'appelle Shebang et spécifie un interpréteur (un programme comme un traducteur qui interprète et exécute le code source).
En d'autres termes, cette fois, je dis à l'ordinateur: "Veuillez interpréter ceci comme un script bash."
Il n'y a aucun problème avec bin / bash
. L'explication de la destination du lien est facile à comprendre!
apt-get est un système de gestion de paquets pour Debian. (L'Ubuntu que j'utilise cette fois-ci est également un type de Linux appelé Debian.) C'est comme Homebrew sur Mac. Depuis Ubuntu 14.04, la commande "apt" est recommandée au lieu de "apt-get". Comme vous pouvez le voir dans l'explication du lien, la commande apt est fondamentalement plus simple pour l'utilisateur.
--À propos du script après __if __
Je ne connais pas le script shell! Cela semble être, mais le fait est que vous pouvez penser que la déclaration suivante est écrite. Référence: [Shell script] Comment utiliser if pour le branchement conditionnel!
if [condition 1]; alors Traitement en cas de condition 1 elif [condition 2], puis Traitement en cas de condition 2 else Traitement lorsque aucune des conditions 1 et 2 fi
La condition 1 correspond à ![-L / var / www]
, mais -L signifie "si le fichier existe et est un lien symbolique, c'est vrai", et! Est un déni logique (! ! True est synonyme de faux).
En d'autres termes, si le fichier n'existe pas dans le répertoire / var / www, le processus sera exécuté.
D'après ce qui précède, ce script shell est
La première fois, "Puisque le lien symbolique / var / www n'existe pas (après avoir supprimé le répertoire normal / var / www s'il existe), créez / var / www comme lien symbolique de / vagrant."
Et la deuxième fois, "Puisqu'il y a un lien symbolique / var / www, lancez le traitement après autre chose (rien cette fois)"
J'ai découvert que ça ferait ça.
Puis démarrez bootstrap.sh.
Définissons Vagrant pour que ce script soit lancé lors de la configuration de la VM!
Ajoutez la ligne suivante config.vm.provision
à votre Vagrantfile.
Vagrant.configure("2") do |config|
config.vm.box = "hashicorp/bionic64"
config.vm.provision :shell, path: "bootstrap.sh"
end
Vagrant utilisera désormais bootstrap.sh comme approvisionneur de shell.
Si vous n'avez pas encore démarré la machine virtuelle, tapez simplement vagrant up
et Vagrant la provisionnera automatiquement en utilisant bootstrap.sh.
Cependant, même si vous avez déjà démarré la machine virtuelle, elle fonctionnera sans problème si vous la rechargez comme indiqué ci-dessous. (La provision n'est effectuée qu'au premier «vagabond», vous ne pouvez donc pas recommencer avec «vagabond».)
$ vagrant reload --provision
Récupérons le fichier HTML en utilisant la commande wget
à la destination ssh!
$ vagrant ssh
$ wget -qO- 127.0.0.1
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Vagrant</title>
</head>
<body>
</html>
Selon la commande de base Atmark IT / Linux, wget est une commande qui "télécharge un fichier en spécifiant une URL".
-q
(--quiet) est une option pour" ne pas afficher le message de progression "
-O file
(--output-document = file) enregistre le fichier téléchargé dans la destination spécifiée comme fichier
. (Semblable à la spécification de la destination d'enregistrement avec une redirection.) De plus, si vous spécifiez -
comme fichier, le fichier sera sorti en standard.
Cela fonctionne parce que je fais "Installer Apache" et "Définir le répertoire / vagrant comme racine du document Apache" dans le script shell que j'ai déjà configuré.
Par défaut, le serveur Web Apache est configuré dans le répertoire / var / www avec les fichiers et les données qu'il gère et renvoie en réponse au navigateur Web. (Le répertoire sous cette gestion est lu comme la racine du document.) Cette fois, / var / www est un lien symbolique de / vagrant, donc si vous jouez avec le contenu de / vagrant, le changement sera reflété dans le fichier sous la racine Document d'Aapche.
Le prochain tutoriel portera sur les réseaux. Accédons au site Web fourni par la machine invitée en lançant un port vers la machine invitée.
Pour les scripts de provisionnement, il est plus efficace de conditionner une boîte Vagrant personnalisée avec des packages préinstallés au lieu de la construire à chaque fois. Voir ici pour plus de détails.
La redirection de port vous permet de spécifier un port sur la machine invitée et de partager (fichiers) via le port de la machine hôte.
En définissant la redirection de port, vous pourrez accéder au serveur Web Apache sur la machine invitée. Ajoutez la ligne config.vm.network
au Vagrantfile,
Vagrant.configure("2") do |config|
config.vm.box = "hashicorp/bionic64"
config.vm.provision :shell, path: "bootstrap.sh"
config.vm.network :forwarded_port, guest: 80, host: 4567
end
Rechargeons.
$ vagrant reload
Une fois la machine virtuelle redémarrée, essayez d'accéder à http://127.0.0.1:4567.
C'est pourquoi j'ai pu y accéder en toute sécurité!
À propos, Vagrant dispose d'autres formes de réseau qui vous permettent d'attribuer une adresse IP statique à une machine invitée ou de relier une machine invitée à un réseau existant. Si vous êtes intéressé par d'autres types de réseaux, veuillez lire la page de mise en réseau.
En plus de fournir un environnement de développement, Vagrant facilite le partage et la collaboration sur ces environnements. Cette fonction de base s'appelle Vagrant Share.
Vagrant Share est un plugin. Ce plug-in vous permet de partager votre environnement Vagrant sur le net avec n'importe qui dans le monde. Vagrant Share fournit des URL qui dirigent directement vers votre environnement Vagrant à partir de n'importe quel appareil dans le monde connecté à Internet.
Vous avez installé ngrok → Je souhaite afficher le site créé dans l'environnement local via le net! Un outil à utiliser parfois.
Installez Vagrant Share
$ vagrant plugin install vagrant-share
$ vagrant share
Ouvrez un navigateur Web et visitez l'URL que vous indiquez! La page qu'Apache a déjà créée devrait se charger! (Si vous modifiez le fichier et rechargez l'URL, elle sera reflétée!) Cette page est accessible depuis n'importe quel appareil dans le monde!
N'oubliez pas de terminer la session à la fin.
$ ^C
==> default: Halting Vagrant share!
Vous ne devriez plus pouvoir voir la page après avoir rechargé l'URL!
Si vous souhaitez en savoir plus sur Vagrant Share, cliquez ici. ](Https://www.vagrantup.com/docs/share) Dans le chapitre suivant, apprenons le processus de démontage!
Ici, nous allons en fait créer l'environnement virtuel que nous avons construit et modifié dans les chapitres précédents.
(1) Suspend [pause] vagrant suspend
(2) Arrêt complet [shutdown] vagrant halt
(3) Supprimer «vagabond»
Faisons le. L'option (1) à (3) à utiliser dépend de la durée pendant laquelle vous souhaitez arrêter l'environnement virtuel que vous utilisez pour le travail et de la vitesse à laquelle vous souhaitez redémarrer l'environnement virtuel. (Bien sûr, il faut du temps pour redémarrer dans l'ordre de pause → arrêter → supprimer.)
Si vous n'avez pas encore lancé Vagrant, veuillez le faire.
$ vagrant up
$ vagrant status
->default running (virtualbox)
Tout d'abord, suspendons la machine virtuelle en utilisant vagrant suspend
.
$ vagrant suspend
==> default: Saving VM state and suspending execution...
$ vagrant status
->default saved (virtualbox)
Suspendre une machine virtuelle avec la commande vagrant suspend
vous permet de suspendre et de redémarrer rapidement une VM.
En définissant vagrant up
, la VM redémarrera dans l'état avant son arrêt.
$ vagrant up
Bringing machine 'default' up with 'virtualbox' provider...
==> default: Checking if box 'hashicorp/bionic64' version '1.0.282' is up to date...
==> default: Resuming suspended VM...
##... output truncated ...
Tout d'abord, suspendons la machine virtuelle en utilisant vagrant halt
.
$ vagrant halt
$ vagrant status
->default poweroff (virtualbox)
Cela arrêtera en toute sécurité le système d'exploitation de la machine invitée et mettra la machine virtuelle hors tension. Le contenu du disque est également bien conservé. Redémarons-le pour confirmation.
$ vagrant up
Bringing machine 'default' up with 'virtualbox' provider...
==> default: Checking if box 'hashicorp/bionic64' version '1.0.282' is up to date...
==> default: Clearing any previously set forwarded ports...
==> default: Clearing any previously set network interfaces...
==> default: Preparing network interfaces based on configuration...
##... output truncated ...
Cependant, le redémarrage d'une machine virtuelle complètement arrêtée prend un certain temps car elle se réveille d'un démarrage à froid et consomme de l'espace disque même lorsqu'elle est arrêtée.
La suppression d'une machine virtuelle avec vagrant destroy
supprime toutes les traces de la machine invitée de votre machine locale. Récupérez de l'espace disque et de la RAM (consommés par la machine invitée) en arrêtant et en mettant hors tension la machine invitée.
$ vagrant destroy
default: Are you sure you want to destroy the 'default' VM? [y/N] y
==> default: Forcing shutdown of VM...
==> default: Destroying VM and associated drives...
Entrez "y" (oui) dans l'invite après la commande vagrant destroy
comme décrit ci-dessus.
Vous pouvez également redémarrer la machine virtuelle en tapant vagrant up
à partir d'ici. Cependant, le démarrage prend du temps et l'état précédent a été ignoré.
Peu importe à quelle distance vous êtes du projet (avec Vagrant), vous pouvez immédiatement faire tourner votre environnement (démarrer votre machine).
La méthode est simple.
$ vagrant up
c'est tout! L'environnement Vagrant est entièrement configuré via le Vagrantfile. Les membres du développement peuvent donc toujours taper la commande vagrant up
pour que Vagrant recrée votre environnement de travail.
C'est la fin de tout le cycle de vie de la construction d'environnement par Vagrant!
Dans le prochain chapitre final, nous parlerons de fournisseurs autres que VirtualBox!
Veuillez vous référer à chaque document officiel pour les paramètres de chaque fournisseur!
Si vous pouvez installer un nouveau fournisseur, tapez simplement la commande suivante et il n'y a pas de problème. (Pas besoin de jouer avec Vagrantfile!)
$ vagrant up --provider=vmware_desktop
Une fois que vous avez spécifié un autre fournisseur comme ci-dessus et que vous avez fait vagrant up
, les autres commandes Vagrant utiliseront automatiquement le fournisseur spécifié!
Ainsi, par exemple, lorsque vous êtes prêt à établir une connexion SSH ou à supprimer une machine virtuelle (comme vous l'avez fait dans les chapitres précédents), tapez simplement la commande normalement et vous êtes prêt à partir.
Si vous souhaitez en savoir plus sur les fournisseurs, veuillez vous référer à cette page (lien vers le document officiel en anglais).