ماذا يفعل
vagrant يقرأ ملف Vagrantfile يصف جهازًا افتراضيًا أو أكثر: الصندوق (box) الأساسي (صورة نظام)، والمعالج، والذاكرة، والشبكة، وطريقة إعدادها (التجهيز provisioning بسكربت صدفة أو Ansible). vagrant up يبنيها، و vagrant destroy يرميها. نفس المعمل يعمل على كل حاسوب.
المزوّدون: VirtualBox و libvirt/KVM و Hyper-V و VMware.
طريقة الكتابة
vagrant COMMAND [VM] [OPTIONS]الأجزاء الرئيسية
الأوامر
initBOX- إنشاء Vagrantfile لصندوق.
up[VM]- إنشاء الأجهزة وتشغيلها.
ssh[VM]- الدخول.
halt/reload/suspend/resume- إيقاف / إعادة تشغيل / إيقاف مؤقت / متابعة.
destroy[-f]- حذف الأجهزة.
provision- تشغيل التجهيز مرة أخرى.
status/global-status- حالة الأجهزة هنا / في كل مكان.
snapshotsave|restore|listNAME- اللقطات.
boxadd|list|update|remove- إدارة الصناديق.
ssh-config- إعدادات SSH (لـ ssh أو Ansible).
الخيارات 4
الأكثر استخدامًا
الخيارات
لا يوجد شيء يطابق هذا الفلتر.
أمثلة 10
$ مستخدم عادي# بصلاحية root (أو مع sudo)
1أول جهاز افتراضي
vagrant init generic/rocky9 vagrant up vagrant ssh2خادمان لمعمل RHCSA
cat Vagrantfile Vagrant.configure("2") do |config| config.vm.box = "generic/rocky9" %w[server1 server2].each_with_index do |name, i| config.vm.define name do |s| s.vm.hostname = "#{name}.example.com" s.vm.network "private_network", ip: "192.168.56.#{10 + i}" s.vm.provider "virtualbox" do |v| v.memory = 2048; v.cpus = 2 end end end end vagrant up3التجهيز بـ Ansible
cat Vagrantfile config.vm.provision "ansible" do |a| a.playbook = "site.yml" end vagrant provision4لقطة قبل تمرين خطير
vagrant snapshot save server1 clean vagrant snapshot restore server1 clean5استخدام KVM بدل VirtualBox
vagrant up --provider libvirt6إعدادات SSH لـ ssh العادي وجرد Ansible
vagrant ssh-config > ssh.cfg ssh -F ssh.cfg server17حالة كل الأجهزة على هذا الجهاز
vagrant global-status --prune8إعادة التشغيل وتطبيق تغييرات Vagrantfile
vagrant reload --provision9الإيقاف في الليل، والحذف عند الانتهاء
vagrant halt vagrant destroy -f10تحديث الصندوق الأساسي
vagrant box update
لا يوجد شيء يطابق هذا الفلتر.
انتبه
- الصناديق العامة يصنعها آخرون. استخدم صناديق من ناشرين معروفين (generic/ و bento/ و rockylinux/).
- المستخدم الافتراضي
vagrantله المفتاح العام غير الآمن في أول إقلاع — لا تعرض جهاز معمل للإنترنت أبدًا.
الملفات
Vagrantfile- وصف الأجهزة (Ruby).
.vagrant/- الحالة المحلية. أضفه إلى
.gitignore. ~/.vagrant.d/boxes/- الصناديق المنزّلة.
نصائح للحفظ
- Vagrant مع Ansible طريقة ممتازة لاختبار playbooks قبل أن تلمس خوادم حقيقية.
رموز الخروج
0 | تم. |
1 | خطأ. |