vagrant 基礎命令總結

2021-10-10 15:39:28 字數 2902 閱讀 5806

vagrant是乙個基於ruby的工具,用於建立和部署虛擬化開發環境。它使用oracle的開源virtualbox虛擬化系統,使用 chef建立自動化虛擬環境。vagrant支援單機模擬多台機器,而且支援乙個配置檔案vagrntfile就可以跑分布式系統。

2.1. machine管理

$ vagrant init      # 初始化,生成vagrantfile,可指定box

$ vagrant up # 啟動虛擬機器,可指定machine

$ vagrant halt # 關閉虛擬機器,可指定machine

$ vagrant ssh # ssh 至虛擬機器,可指定machine

$ vagrant suspend # 掛起虛擬機器,可指定machine

$ vagrant resume # 喚醒虛擬機器,可指定machine

$ vagrant status # 檢視虛擬機器執行狀態,可指定machine

$ vagrant destroy # 銷毀當前虛擬機器,可指定machine

$ vagrant suspend # 掛起當前的虛擬機器

$ vagrant resume # 恢復前面被掛起的狀態

2.2. box管理
$ vagrant box list    # 檢視本地box列表

$ vagrant box add # 新增box到列表

$ vagrant box remove # 從box列表移除

$ vagrant package        # 對指定machine打包成box

$ vagrant box repackage # 對指定box重新打包成box,該box的machine會被halt

$ vagrant package --output web.box web

==> web: attempting graceful shutdown of vm...

==> web: clearing any previously set forwarded ports...

==> web: exporting vm...

==> web: compressing package to: /home/kevin/learn/vagrant/test-cluster1/web.box

$ vagrant box repackage
2.4. 快照管理

後續補充

3. vagrant file

-*- mode: ruby -*-

vi: set ft=ruby :

vagrant.configure(2) do |config|

config.vm.define "web" do |web|

# web.vm.box = "ubuntu/xenial64"

web.vm.box = "ubuntu/1604"

web.vm.box_url = "file:///home/kevin/learn/vagrant/xenial-server-cloudimg-amd64-vagrant.box"

web.vm.hostname = "web"

web.vm.network "private_network", ip: "192.168.56.10"

web.vm.provider "virtualbox" do |v|

v.gui = false

v.name = "ubuntu-0"

v.cpus = "1"

v.memory = "2048"

endend

config.vm.define "db" do |db|

# db.vm.box = "ubuntu/xenial64"

db.vm.box = "ubuntu/1604"

db.vm.box_url = "file:///home/kevin/learn/vagrant/xenial-server-cloudimg-amd64-vagrant.box"

db.vm.hostname = "db"

db.vm.network "private_network", ip: "192.168.56.11"

db.vm.provider "virtualbox" do |v|

v.gui = false

v.name = "ubuntu-1"

v.cpus = "1"

v.memory = "2048"

endend

end

-*- mode: ruby -*-

vi: set ft=ruby :

vagrant.configure(2) do |config|

(1..3).each do |i|

config.vm.define "node-#" do |node|

node.vm.box = "ubuntu/1804"

node.vm.box_url = "file:///home/shuzhang/public/bionic-server-cloudimg-amd64-vagrant.box"

node.vm.hostname = "node#"

node.vm.network "private_network", ip: "192.168.56.#"

node.vm.provider "virtualbox" do |v|

v.gui = false

v.name = "ubuntu-#"

v.cpus = "1"

v.memory = "2048"

endend

endend

4. docs

Vagrant常用操作命令

vagrant box add address vagrant box add detectionlab win10 vagrant box add win10 d vm virtualbox.box vagrant box add win10 vagrant box add name win10僅...

vagrant 常用命令

1.檢查當前版本 vagrant version 2.列出所有的box vagrant box list 3.新增乙個box vagrant box add a.box名簡寫 vagrant box add ubuntu trusty64 b.通過乙個指定的url新增遠端box vagrant bo...

vagrant 常用命令

vagrant init 初始化 vagrant up 啟動虛擬機器 vagrant halt 關閉虛擬機器 vagrant reload 重啟虛擬機器 vagrant ssh 連線ssh至虛擬機器 vagrant status 檢視虛擬機器狀態 vagrant suspend 掛起虛擬機器 vag...